Ruby / Rails表达式,什么是ActiveRecord类中的self[:reason]?

dauxcl2d  于 2023-10-17  发布在  Ruby
关注(0)|答案(1)|浏览(88)

我在一段很老的代码中发现了下面的表达式:

def reason
  self[:reason].try(:to_sym)
end

这是一个普通模型类中的方法(最终)继承自ApplicationRecord,没有什么花哨的。
谁能告诉我self[:reason]是什么?

xjreopfe

xjreopfe1#

ActiveRecord::AttributeMethods#[]返回类型转换后的属性值
可能效果相同,但更具可读性:

def reason
  super&.to_sym
end

相关问题