現在、次のようなレールフォームに複数選択ボックスがあります。
= select_tag :in_all_tags, options_from_collection_for_select(Tag.where(:project_id => @project.id), :id, :name, @in_all_tags_param), { :id => "tags", :tabindex => "3", "data-placeholder" => "Choose Tags", :multiple => "multiple" }
どこ
@in_all_tags_param = params[:in_all_tags]
問題は、@in_all_tags_param
選択フォームに からの最後の値のみが入力されることparams[:in_all_tags]
です。そのため、url 文字列が の場合in_all_tags=5&in_all_tags=8
、複数選択で事前に選択された値は 8 のみになります。
私が理解していることから、これを回避する方法は、複数のパラメーターのフィールド名に追加する[]
ことです。:in_all_tags
in_all_tags[]
しかし、これを試してみると、フォームを送信すると次のように返されます。
Expected type :default in params[:in_all_tags], got Array
任意の提案をいただければ幸いです。
乾杯...