我正在尝试用Rails创建相关的模型。我的模型是金融学,它有很多文档和属于金融的文档。创建关联模型时的工作代码可以是
def create
@financial = Financial.find(2)
@document = @financial.documents.create(document_params)
...
end在我看来,我有一个像这样的表单来选择正确的Financial
<%= form_for Document.new do |f| %>
<%= f.collection_select :financial_id, Financial.all, :id, :description %>
<%= f.submit %>当我提交表单时,我确实看到日志中正在传输正确的参数。
"financial_id"=>"3"因此,我想我只需要将初始代码更改为:
def create
@financial = Financial.find(params[:financial_id])
@document = @financial.documents.create(document_params)
...
end但我得到了一个“找不到金融的'id'=”。我尝试过其他的方法,包括:
@financial = Financial.find_by(id: params[:financial_id])没有多大成功。有人能给我适当的语法吗?谢谢。
发布于 2016-06-20 11:53:39
找不到'id'=的金融
因为,提交的params实际上在document哈希中。这样params[:financial_id]就不行了。相反,您需要使用params[:document][:financial_id]
def create
@financial = Financial.find(params[:dcument][:financial_id])
@document = @financial.documents.create(document_params)
...
endhttps://stackoverflow.com/questions/37921227
复制相似问题