👍

Rails 複数のsubmitボタンを持つフォーム

に公開

「保存のみ行う」と「保存して遷移する」2種類のボタンが1つのページ内にありました。
どのように分岐しようか、実装方法に困りました。
button_tagはname属性とvalue属性を設定することができました。
送信先のアクションを合わせ、アクションの中でパラメータを使い分岐しました。

<%= form_with model: @user, local: true do |f| %>
  <%= button_tag '保存', type: :submit, name: 'commit_type', value: 'save' %>
  <%= button_tag '保存&遷移', type: :submit, name: 'commit_type', value: 'save_and_redirect' %>
<% end %>
if params[:commit_type] == 'save'
  render :new
else
  redirect_to :index
end

Discussion