这是我的代码:
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>, {}]}
如何检索实际值?
答案 0 :(得分:2)
如果a1.superclass
返回ApplicationRecord(abstract)
,则表示a1
是一个类,而不是实际记录。您无法从类中读取值,因为它不是实例。如果您执行a1.first[attr1]
之类的操作,一切都应该可以正常工作。