Ruby 提取计算属性的值
在Rails4中,以下逻辑确定属性Ruby 提取计算属性的值,ruby,ruby-on-rails-4,Ruby,Ruby On Rails 4,在Rails4中,以下逻辑确定属性 if @items.count == 1 value = "disc1" elsif @items.count == 2 value = "disc2" else end 然后就需要访问它 @cluster.value 但是,此语法不起作用,因为值不是方法。如何使用此变量来提取对象的命名属性?如果您只是有条件地调用方法,效果会更好: if @items.count == 1 @cluster.disc1 elsif @items.count ==
if @items.count == 1
value = "disc1"
elsif @items.count == 2
value = "disc2"
else
end
然后就需要访问它
@cluster.value
但是,此语法不起作用,因为值不是方法。如何使用此变量来提取对象的命名属性?如果您只是有条件地调用方法,效果会更好:
if @items.count == 1
@cluster.disc1
elsif @items.count == 2
@cluster.disc2
else
# ...
end
不过,如果你想走这条路:
@cluster.public_send value
或者,如果
@cluster
是ActiveRecord
模型,并且您希望获取相应表中的存储值,则可以:
@cluster[value]