2017-06-30 10 views
-1

私はPOとアイテムのモデルを持っています。アイテムはPOに属します。 Item.po_idが新しいアイテムを作成するときに現在のPo.idに設定されたいのですが、フォームが送信されると、Poが空白なので検証に失敗します。ビュー/ POS/show.html.erbでPOパラメータを新しいアイテムに渡すときの問題

、私は新しいアイテムにPO番号を渡すためにしようとのリンクがあります。items_controller.rbで

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

を、私が持っている:

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

また、ユーザーが変更できないように、アイテムフォームにpo_idのフィールドを含めませんでした。

「Poは空白にすることはできません」ので、ここでも、この時点では、フォームの送信が検証に失敗した

は私が間違って何をしているのですか?

答えて

1

あなたは間違っています。あなたのコードに従って、params[:po_id]params[:item][:po_id]で、:itemの中に:po_idを入れてください。link_to

+0

わかりません。だから、コードは次のようになりますか? 'DEF新しい @item = Item.new(paramsは[:商品] [:po_id]) @ item.po_id = paramsは[:商品] [:po_id]私はエラーをスロー取得 end':割り当てる場合をハッシュを引数として渡す必要があります。 基本的な質問を申し訳ありません - 私はこれで新しいです。 – Coalsand

+0

@Coalsandどのラインでエラーが出るのですか? – Pavan

+0

@item = Item.new(params [:item] [:po_id]) – Coalsand

関連する問題