在Rails中,如何更新模型中的表单字段? [英] In Rails how do I update form fields in the model?

查看:51
本文介绍了在Rails中,如何更新模型中的表单字段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假装我想将我指定的所有字段设置为="frog"

Let's pretend I want to set all the fields I specify to be = "frog"

在模型中,我可以使用以下命令手动设置每个:

In the model I can set each one manually using:

self.field1 = 'frog'
self.desc_field = 'frog'
self.fieldx = 'frog'
etc....

但是如何将字段名称放入数组中呢?

But how can I this by putting the field names in an array?

当我尝试

fields_array=['field1','desc_field','fieldx']    
fields_array.each { |field|    
  self.field = 'frog'
}        

它不起作用.有什么建议吗?

It does not work. Any suggestions?

推荐答案

约翰·托普利(John Topley)的回答基本上是正确的,但是由于您要分配值,因此需要执行以下操作:

John Topley's answer above is basically correct, however since you want to assign values you want to doing something like:

fields_array=['field1','desc_field','fieldx']    
fields_array.each { |field|    
  self.send("#{field}=", 'frog')
}

请注意添加的等号.这样,您正在执行self.field1='frog'而不是self.field1('frog').

Note the added equal sign. With that you're doing self.field1='frog' rather than self.field1('frog').

这篇关于在Rails中,如何更新模型中的表单字段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆