2016-07-03 6 views
0
<tr> 
    <th><%=f.label(:id, "Choose car")%></th> 
    <td><%= f.select(:id, @cars_all.map{|c| [c.name, c.id]}) %></td> 
    </tr> 
    <tr> 
    <th><%=f.label(":list_id", "Choose List")%></th> 
    <td><%= f.select(:list_id, @lists.map{|s| [s.name, s.id]}) %></td> 
    </tr> 

私は共同のテーブルにデータベースに追加するcontorllerでそれらを使用するには、これらの2つの選択値の値を取得したい、は選択データ

を節約するために、コントローラでフォーム変数を使用することはできません
@car_id = params[:id] 

は動作せず、データを取得していない、と直接のいずれかで構成されますコントローラのパラメータにアクセスすることはできませんが、これらの値に

+0

をチェックしようか!どのパラメータがコントローラに送信されますか? – davidwessman

答えて

1

ユーザーをエコー離れがあるさform_for object_nameと同じ名前のハッシュ 仮定:

<%= form_for(@profile) do |f| %> 
    <%= f.text_field :first_name %> 
    <%= f.text_field :last_name %> 
<%= f.submit %> 
<% end %> 

ので、パラメータは、私が

のparamsのようにアクセスできるようになり、コントローラ

"profile"=>{ 
"first_name"=>"Daniel", 
"last_name"=>"Clark" 
    } 

になります[:プロフィール] [:FIRST_NAME]あなたのケースでそう

ください。オブジェクトのform_forをチェックし、オブジェクトからアクセスします。

あなたは

のparams [form_for_object_hash_name]を介してアクセスすることができます[:ID]

か、どのようにあなたのサーバーのログを見てないコントローラ上でデバッガを入れて、正しいのparams