2016-05-25 1 views
1

コントローラとコレクションで、コレクション選択から複数の値を受け入れるための変更点は何ですか?コントローラでどのような変更を行い、コレクションで複数の値を取るように選択しますか?

モデルとの間の関連付けがある: -

product has many categories through product_categories 
categories has many products through product_categories 

product_categoriesは結合テーブルです。

以下は私のコレクションの選択です。ここでは複数の値を選択するために選択を使用しています。

<%= ps.collection_select :product_id, Product.all, :id, :product_name, {prompt: "Select Product"}, {class: "form-control chosen-select",:multiple => true} 

コントローラーのparams

params[:spare].permit(:id, :name, :desc,:code,:manufacturer_id, :product_ids,{:attachments_attributes => [:id, :attachment, :remote_attachment_url, :_destroy]}) 

はまた、ネストされた属性

params[:spare].permit(:id, :name, :desc,:code,:manufacturer_id,:product_ids,{manufacturer_service_centers_attributes: [:id, :service_center_id, :manufacturer_id, :_destroy]},{:attachments_attributes => [:id, :attachment, :remote_attachment_url, :_destroy]}) 

それはproduct_idsを取るために、私はここにどのような変更を行う必要があるとしようとしましたか? 。

+0

ホープhttp://stackoverflow.com/questions/:選択した選択と

23253449/ruby​​-on-rails-4-select-multiple –

+0

私はそれをチェックしました..しかし、私はそこにコントローラの部分を見つけることはありませんデータが静的に設定されている場合、コレクション選択で動的にハッシュまたは配列を渡す方法を知りたがっています。 –

+0

@PallaviHegdeコンソールから 'params'ハッシュ値を投稿することもできます。また、ビューテンプレートのフォーム全体を追加することもできます。 – dp7

答えて

0

私は選択したマルチセレクトを適用することができました。これは私が従ったステップです。

<%= f.select :product_ids, Product.all.collect { |u| [u.product_name_code, u.id] }, {}, {:multiple => true, :class => "chosen-select"} %> 

コントローラ

params[:spare].permit(:id,:product_ids => []) 

はそれが役立ちます:)

感謝:)ちょうど参照してください

関連する問題