rails5でsubmitボタンを押した時に該当するコントローラー/アクションへパラメーターを送ってくれると思います。
しかし以下のコードのようにform_withの引数で指定してあげている値と異なる値をコントローラーへ送りたい場合はどうすればよいのでしょうか。
ちなみにselect_tagヘルパー内に書いてある送りたい値は、select2-railsを用いた検索&複数指定可能なプルダウンリストです。
<!-- edit.html.erb --> <%= form_with(model: @editlist, local: true) do |form| %> <div class="field"> <%= form.label :email %> <%= form.text_field :email %> <%= form.label :name %> <%= form.text_field :name %> <!-- 該当箇所 --> <label>tag</label> <%= select_tag 'a', options_from_collection_for_select(@selecttaglist, :id, :tagname), include_blank: true, multiple: true, class: "searchable" %> <!-- @selecttaglistにはコントローラーでDBから引っ張ってきた値が入っている --> </div> <div class="actions"> <%= form.submit %> </div> <% end %>
# controller def update updateparams= TPerformerAccount.find(params[:id]) updateparams.update!(example_params) redirect_to "/toppage" end def example_params params.require(:t_performer_account).permit(:name, :email #ストロングパラメーターをどうすればよいか ) end
@editlistに入っているname属性とemail属性は値が飛んできているのが分かるのですが、selectタグで選択したものは飛んできていないです。
どのようにすればcontrollerのupdateメソッドまでセレクトボックスのidを飛ばせるでしょうか?
宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。