在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') }