在模型的创建方法

时间:2015-08-12 13:57:19

标签: ruby-on-rails ruby

有没有办法在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数组中。

1 个答案:

答案 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时它将始终为空。