ルビーの豪華な宝石(https://github.com/activerecord-hackery/ransack)を使用しているWebアプリケーションで、複数の検索バー(20以上)があります。ransackを設定して、先頭と末尾の空白をデフォルトとして取り除きますか?
すべての(20+)検索の先頭と末尾の空白を取り除く方法を知っている人はいますか?
私の現在のソリューションは、アプリケーションのヘルパーで次のメソッドを作成することです:
def strip_query
params[:q] = Hash[params[:q].map { |key, str| [key, str.strip] }] unless params[:q].blank?
end
そして、各コントローラの開始時にメソッドを呼び出します。
include ApplicationHelper
before_action :strip_query, only: :index
私はDRY方法を探していますそれはすべての20 +コントローラでコードを繰り返さない。
https://github.com/activerecord-hackery/ransack/issues/332
config/initializers/ransack.rb
ファイルに新しい述語を作成することが可能と示唆しているが、これは新しい述語を参照するために、各ビューで検索を変更することが必要となります。
私の問題のためにこれをカスタマイズする最良の方法は何ですか?すべての検索クエリのデフォルトとしてホワイトスペースを取り除くようにransackを設定することは可能ですか?
、私は束をしようとしていました異なるものの最後に、あなたの提案は最もクリーンな実装でした。ありがとう! –