在Rails4中,以下逻辑确定属性
if @items.count == 1
value = "disc1"
elsif @items.count == 2
value = "disc2"
else
end
然后需要访问
@cluster.value
但是这个语法不起作用,因为值不是方法。如何使用这个变量来提取对象的命名属性?
答案 0 :(得分:1)
如果您只是有条件地调用方法会更好:
if @items.count == 1
@cluster.disc1
elsif @items.count == 2
@cluster.disc2
else
# ...
end
但是,如果你想走那条路:
@cluster.public_send value
或者,如果@cluster
是ActiveRecord
模型,并且您想要在相应的表中获取存储的值,则可以:
@cluster[value]