提取计算属性的值

时间:2017-08-25 14:07:45

标签: ruby ruby-on-rails-4

在Rails4中,以下逻辑确定属性

if @items.count == 1
  value = "disc1"
elsif @items.count == 2
  value = "disc2"
else
end

然后需要访问

@cluster.value

但是这个语法不起作用,因为值不是方法。如何使用这个变量来提取对象的命名属性?

1 个答案:

答案 0 :(得分:1)

如果您只是有条件地调用方法会更好:

if @items.count == 1
 @cluster.disc1
elsif @items.count == 2
  @cluster.disc2
else
  # ...
end

但是,如果你想走那条路:

@cluster.public_send value

或者,如果@clusterActiveRecord模型,并且您想要在相应的表中获取存储的值,则可以:

@cluster[value]