我有一个包含许多属性的Item类,但对于这种情况,我们可以说它有一个名称,详细信息,inventory_count,价格就可以了。这些都是红宝石原语。
我想找回一个像名字'和'细节'这样:
vals=%[name detail]
item=Item.find(23)
# somethign like???
g={}
vals.map { |atr| g[atr]=item.??? }
或其他一些技术。我如何获取字符串表示并获取实例的属性?是否有更容易/更好的方法来做到这一点?
看起来像send
可能会这样做。我来看看
答案 0 :(得分:2)
#attributes
以散列表示形式返回一个对象,#slice
返回仅包含给定键的散列,因此:
item.attributes.slice('name', 'detail')