【Rails】1つのformに別々のformatのsubmitボタンを配置する
例えば検索フォームを作っていて、「検索」ボタンと「CSV出力」ボタンを置きたいときがあります。
- 検索ボタンでは、検索フォームに入力した条件でレコードを絞り込み、結果をviewに表示したい。formatはhtml
- CSV出力ボタンでは、検索フォームに入力した条件でレコードを絞り込み、結果をCSVに出力したい。formatはcsv
form内で使える f.submit
には1つのformatしか指定できません。
そこで、2つ目以降のformat用には button_tag
を使います。
<%= form_with(model: @reports) do |f| %> ... <%= f.submit '検索' # html %> <%= button_tag 'CSV出力', value: 'csv', name: 'format' # csv %> <% end %>