ransackで数字の1をパラメータで渡すとエラーが出た
ransackを使った検索フォームを作っていたのですが、数字の1をパラメータとして送る際、エラーが出てしまう問題にぶつかりました。
その解決方法について書き留めておこうと思います。
エラー内容
ransackを使って作成した検索フォームで、数値を入力してもらう項目があったのですが、
1と入力した際に以下のようなエラーが出てしまっておりました。
ArgumentError - wrong number of arguments (given 0, expected 1):
1以外の数字では問題なく動きます。
原因
1が true に変換されてしまい、うまく動かなかったようです。
以下のリンク先に詳しく書いてあります。
解決方法
先ほどのリンク先にも書いてあるのですが、
config/initializers/ransack.rb ファイルを作成し、以下のように設定を追加してあげれば解決します!!
Ransack.configure do |c|
c.sanitize_custom_scope_booleans = false
end
感想など
(なんだか自分で解決したかのように書いてしまいましたが、問題に気づいてくれたのも原因を見つけてくれたのも先輩です)