POSO
@POSO

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

ransackでデータを送信する際の初期値(id integerです)をセットしたいです

解決したいこと

gem ransackで検索機能を実装済みです
そこで特定の数値のもののみを表示する、という設定をしたいです

発生している問題・エラー

<%= search_form_for @q, url: search_items_path do |f| %>
<% f.label :category_id_eq %>
<% f.search_field :category_id_eq %>
<%= f.submit '一眼を見る', class: 'formbotton' %>
<% end %>

現在のhtmlです

こちらの内部データを設定し

<% f.search_field :category_id_eq %>

ここのcategory_idに固定データの設定をしたいです

0

1Answer

Conrtoller側でparamsを検査して、falsyな値の場合初期値をransakに渡す、という方法でどうでしょうか?

0Like

Comments

  1. @POSO

    Questioner

    これは送信するformごとに設定可能ですか?
  2. GETリクエストであれば、フォームを識別できる値をsearch_items_pathのqueryパラメータに渡してもいいと思いますし、あるいはhidden inputに識別用の値を入れる、とかですかね。
  3. @POSO

    Questioner

    解決しました!ありがとうございました

Your answer might help someone💌