如何使用存储在变量中的属性名?

时间:2015-02-13 10:41:57

标签: ruby-on-rails ruby-on-rails-4

我有一个方法。

def method_name(object, field_name_1, field_name_2)
  var = SomeClass.new(:field => object.field_name_1, :field => object.field_name_2)
  object.update_attributes(:"#{field_name_1}" => var)
end

当我尝试以这种方式访问​​object.field_name_1时,这是不可能的,因为它搜索field_name_1而不是它的值(即字段名称)。无论如何我可以使用field_name_1的值作为字段名称吗?

1 个答案:

答案 0 :(得分:0)

object.read_attribute(field_name_1.to_sym)
object.update_attributes(field_name_1.to_sym => var)

这应该有用,但我不确定你要做什么。