使用 rails 创建关联模型
Creating associated model with rails
我正在尝试使用 Rails 创建关联模型。我的模型是 Financial,它有很多文件和属于 Financial 的 Document。创建关联模型时的工作代码可能是
def create
@financial = Financial.find(2)
@document = @financial.documents.create(document_params)
...
end
在我看来,我有一个看起来像这样的表格 select 正确的财务
<%= 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
但我得到了 "Couldn't find Financial with 'id'="。我尝试过其他的东西,包括:
@financial = Financial.find_by(id: params[:financial_id])
没有太大的成功。谁能给我合适的语法吗?谢谢。
Couldn't find Financial with '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)
...
end
我正在尝试使用 Rails 创建关联模型。我的模型是 Financial,它有很多文件和属于 Financial 的 Document。创建关联模型时的工作代码可能是
def create
@financial = Financial.find(2)
@document = @financial.documents.create(document_params)
...
end
在我看来,我有一个看起来像这样的表格 select 正确的财务
<%= 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
但我得到了 "Couldn't find Financial with 'id'="。我尝试过其他的东西,包括:
@financial = Financial.find_by(id: params[:financial_id])
没有太大的成功。谁能给我合适的语法吗?谢谢。
Couldn't find Financial with '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)
...
end