有没有办法在create方法中从URL获取params?
我的“新”视图的网址是:
/model_name/new?other_model_id=100
我希望能够在创建新模型时使用ID 100更改模型。我尝试在我的“create”方法中调用params [:other_model_id],该方法返回nil,我尝试在“new”方法中设置以下变量:
@other_model = Model.find(params[:other_model_id])
我的模型中有一个名为“other_versions”的字段,它是一个模型ID数组。当我创建一个新模型时,我想将新模型的ID添加到旧模型中的模型ID数组中。
答案 0 :(得分:3)
为什么不使用after_create
过滤器(http://guides.rubyonrails.org/active_record_callbacks.html)并在创建/编辑表单的隐藏字段上添加“other_model”ID?
如果您使用的是Rails> 4,请确保在强参数(http://edgeapi.rubyonrails.org/classes/ActionController/StrongParameters.html)上添加该参数,否则当您选中params
时它将始终为空。