form withで送信するパラメーターを条件分岐で変更したい
解決したいこと
form withで特定のカラムを選択した場合、そもそもそのデータを送信しない、という設定にしたいです
そのコードのイメージがつかないので教えてほしいです
ransack、activerecordを使用しています
form with本体
<%= search_form_for @q, url: search_items_path do |f| %>
<%= f.label :name_cont, '選手検索' %>
<%= f.search_field :name_cont %>
<% f.label :category_id_eq %>
<%= f.collection_select(:category_id_eq, Category.all, :id, :name, {}, {class:"select-box", id:"category"}) %>
<% f.label :country_id_eq %>
<%= f.collection_select(:country_id_eq, Country.all, :id, :name, {}, {class:"select-box", id:"country"}) %>
<br>
<%= f.submit '検索' %>
<% end %>
categoryのモデル
class Category < ActiveHash::Base
include ActiveHash::Associations
has_many :items
self.data = [
{ id: 0, name: 'カテゴリー選択' },
{ id: 1, name: 'キーパー' },
{ id: 2, name: 'ストライカー' },
]
end
条件分岐の完成イメージ
上記のformから送信されるデータの一例
Parameters: {"q"=>{"name_cont"=>”メッシ”, "category_id_eq"=>"1", “country_id_eq"=>”1”}, "commit"=>"検索"}
もし
"name_cont"=>””
の場合送信されてほしいデータ
Parameters: {"category_id_eq"=>"1", “country_id_eq"=>”1”}, "commit"=>"検索"}
このように特定の条件を満たす場合そのデータを送信しない設定にしたいです
0