无法将PO参数传递给新项目

时间:2017-06-30 19:21:01

标签: ruby-on-rails parameters model controller parameter-passing

我有PO和物品的模型。项目属于PO。我想在创建新项目时将Item.po_id设置为当前的Po.id,但是当表单提交时,由于Po为空白,因此验证失败。

在views / pos / show.html.erb中,我有一个链接,我尝试将PO ID传递给新项目:

    <%= link_to 'Add items', new_item_path(:item => {:po_id => @po.id}) %>

在items_controller.rb中,我有:

def new
  @item = Item.new(params[:po_id])
  @item.po_id = params[:po_id]
end

我没有在Item表单中包含po_id的字段,因为它不应该被用户改变。

此时,表单提交未通过验证,因为&#34; Po不能为空白&#34;

我做错了什么?

1 个答案:

答案 0 :(得分:1)

你做错了。根据您的代码,params[:po_id]应该是params[:item][:po_id],因为您在:po_id

中的:item内传递了link_to