在Rails中,如何更新模型中的表单字段?
让我假装我想将我指定的所有字段设置为=“frog”
在模型中,我可以使用以下方法手动设置每个:
self.field1 = 'frog' self.desc_field = 'frog' self.fieldx = 'frog' etc....
但是如何通过将字段名称放在数组中呢?
当我尝试
fields_array=['field1','desc_field','fieldx'] fields_array.each { |field| self.field = 'frog' }
这是行不通的。 有什么建议?
John Topley上面的回答基本上是正确的,但是因为你想要分配你想要做的事情,比如:
fields_array=['field1','desc_field','fieldx'] fields_array.each { |field| self.send("#{field}=", 'frog') }
注意添加的等号。 你正在做self.field1='frog'
而不是self.field1('frog')
。
尝试使用send
方法:
fields_array=['field1','desc_field','fieldx'] fields_array.each { |field| self.send("#{field}", 'frog') }