我想知道,是否有更简单的方法来执行以下操作
#controller's action
@my_model = MyModel.create field1: params[:field1],
field2: params[:field2],
field3: params[:field3],
field4: params[:field4]
# and so on.....
我会用
@my_model = MyModel.create params
但它是否有效,因为params
始终包含Rails添加的其他键?
P.S。 更新模型的相同问题(这会正常工作吗?)
MyModel.update_attributes params
答案 0 :(得分:1)
将params作为嵌套哈希发送,如
{:my_model => {:field1 => 'blah', :field2 => 'blah'}, :controller => 'something', :action => 'something_else'}
这样你就可以说
@my_model = MyModel.create params[:my_model]
如果您在创建表单时遵循约定,Rails会自动执行此操作。