問題

2016-07-15 1 views
0

私は製品モデルに属し、また支店モデルを持っているSoldHistoryモデルを持っています。製品ショーページでは、作成するフォームをSoldHistoryを販売しました:整数アトリビュート。私はブランチモデルからオブジェクトを選択するフォームに選択タグを追加しようとしています。問題

<%= form_for [@product, @product.sold_histories.build, @branch = Branch.find(:all)] do |f| %> 
    <%= f.label "Dispatch: "%> 
    <%= f.number_field :sold %> 
    <%= f.select :branch, options_from_collection_for_select(@branch, "id", "name") %> 
    <%= f.submit "Enter" %> 
    <% end %> 

私はこれを試してみましたが、それはすべての

してくださいは、私が間違って何をやっている= IDとブランチを見つけることができなかったと言って続けて?

+0

@branchには何を割り当てていますか?方法で@branchesする必要があります –

+0

私は私の答えを変更しました..ブランチでデータを取得することを確認してください – Vishal

答えて

1

を記述する必要が@branchesを得ることができます

<%= f.select :branch, options_for_select(@branch.collect {|a| [a.name, a.id]}) %> 

に役立つかもしれませんなぜフォームブロック内に@branch割り当てを置かないのですか?このように:

<%= form_for [@product, @product.sold_histories.build] do |f| %> 
    <% @branch = Branch.find(:all) %> 
    ... 
<% end %> 
+0

私はこれを試してみると、#のためにこのエラーが未定義のメソッド 'to_key'になります –

+0

私は答えを更新しました。ヘルパーのform_forの中のコレクション –

+0

私はそれが選択された支店に提出したいので、私はこれを実際に行っています..オハイオ州yhこれは実際に感謝します! –

0

これは、あなたのコントローラのアクションに<%= form_for [@product, @product.sold_histories.build, @branch = Branch.find(:all)] do |f| %>

変更@branch = Branch.find(:all)

@branch = Branch.allの編集では、formタグで

+0

私はこれを試したときに#のためにこのエラー未定義メソッド 'to_key 'を取得します –

+0

あなたのブランチはゼロです。あなたのビューに出口を置いてください。あなたのinstace変数で取得するデータを確認してください – Vishal