2017-06-30 13 views
0

チェックボックス送信を使用すると、複数のパラメータを送信するのに問題があります。両方のパラメータをどのように送信しますか?複数のパラメータをチェックボックス送信時に送信

テーブル内の各行に2つの項目があり、列は「製品収入」と「製品タイトル」で、各行でチェックボックスを使用して選択してから送信しますこれらの値のうちの1つをコントローラに送信します。私は1つのアイテムを稼働させることができますが、2番目のアイテムを送る方法もわかりませんでした 私は隠しフィールドを使用しようとしましたが、それを得ることができませんでした。

コードの表示

<%= form_tag add_multiple_path, method: :post do %> 
    <%= check_box_tag 'price_test_datum[product_title][]', p.dimensions[0] %> 
    <% hidden_field_tag('price_test_datum[product_price][]', p.metrics[0].values[0]) %> 
    <%= submit_tag "Add selected" %> 
<% end %> 

コントローラコード(現時点で唯一のアイテムの両方のparamsが送信されていないので)送信

def add_multiple 
params[:price_test_datum][:product_title].each {|p| PriceTestDatum.create(product_title: p) } 
respond_to do |format| 
    format.html { redirect_to price_test_data_path } 
    format.json { head :no_content } 
end 
end 

パラメータ:=>」 { "UTF8" => "token_test_datum" => {"product_title" => ["ウィジェット1"、 "ウィジェット2"]} "コミット" => "選択したアイテムを追加"}

+0

はあなた 'hidden_​​field_tag'前に' <% 'をチェックしてください。それは '='のために寂しいようです。 – jvillian

+0

コメントありがとうございます。 <%=を使用すると、隠されたフィールドが送信されたparamsに表示されますが、何らかの理由で製品収益のために列のすべての値がダンプされますか? – ByteMe

+0

それは本当に別の質問ですね。これを受け入れて新しいものを尋ねたら、それを見てみましょう。 – jvillian

答えて

0

へウル元の質問(あなた補正前)、あなたはここに=を逃している:

<% hidden_field_tag('price_test_datum[product_price][]', p.metrics[0].values[0]) %> 

それは次のようになります。

<%= hidden_field_tag('price_test_datum[product_price][]', p.metrics[0].values[0]) %> 
関連する問題