2017-04-20 4 views
0

ページの要素にチェックボックスを追加し、続いてIDのコレクション(チェックボックスがオンの場合)をコントローラに渡そうとしています。私が持っている私の見解でチェックボックスタグとbutton_toを持つidコレクションを渡す

...

<% @roles.each do |role| %> 
     <li> 
     <%= check_box_tag 'blah_ids[]', role.id -%> 
     <%= h role.name -%> 
     </li> 
    <% end %> 

...このボタンを提出するだけで...私のコントローラで

<%= button_to 'Call Action', bulk_update_path('blah_ids[]'), method: :post %> 

、私はちょうど上のプットを呼んでいますこのようなのparams ...

def bulk_update 
    puts "Made it to controller; ids are: " + params.inspect 
    redirect_to blah_path 
    end 

...となって...

Made it to controller; ids are: {"authenticity_token"=>"0ptHDPrSW9sjRYmsoPb/WyuTQxiR60RzVom9h4HjdWo=", "controller"=>"blah", "action"=>"bulk_update", "format"=>"blah_ids[]"} 

上記のblah_ids[]は空白です。私はチェックされたチェックボックスのIDを見ることを期待しています。どんな助けもありがたい。

+0

のような一般的なsubmit_tagを使用し、これを必要とされました。しかし、私はあなたのコントローラの検査paramsのように、コレクションパスの指定されていないパラメータが 'params [:format]'のフォーマットまたは値とみなされることを知ります。 – Mayank

+0

@Mayank質問を更新しました。上記のblah_ids []は空白です。私はチェックされたチェックボックスのIDを見ることを期待しています。 – Lumbee

答えて

0

問題私は、私の見解ではform_tagに包まれて、私はあなたの質問を取得していないので...

<%= form_tag bulk_update_path(method: :post) do %> 
    <% @roles.each do |role| %> 
     <li> 
     <%= check_box_tag 'blah_ids[]', role.id -%> 
     <%= h role.name -%> 
     </li> 
    <% end %> 
    <%= submit_tag %> 
<% end %> 
関連する問題