获取ActiveRecord中的属性值

时间:2017-07-20 07:55:50

标签: ruby-on-rails ruby activerecord

这是我的代码:

a1.superclass
=> ApplicationRecord(abstract)

此外,我将属性的名称作为字符串。我怎样才能获得它的价值?这不起作用:

a1.send(attr1)
a1[attr1]

这样做,但它返回Hash:

 a1.attribute(attr1)


=> {"my_super_attr"=>[#<ActiveModel::Type::Value:0x0055b83c524ac8 @precision=nil, @scale=nil, @limit=nil>, {}]}

如何检索实际值?

1 个答案:

答案 0 :(得分:2)

如果a1.superclass返回ApplicationRecord(abstract),则表示a1是一个类,而不是实际记录。您无法从类中读取值,因为它不是实例。如果您执行a1.first[attr1]之类的操作,一切都应该可以正常工作。