ransack+simple_formでカラムがNULLのものを絞り込むための記述

  • 1
    Like
  • 0
    Comment
    More than 1 year has passed since last update.

    たとえば、user_idNULLのものを検索するチェックボックスを作る場合の実装方法です。チェックボックスにチェックを入れたら、NULLのものに絞り込み、チェックが入っていない場合は、NULLのものNOT NULLのもの両方を検索します。

    = f.input :user_id_null, as: :boolean, include_hidden: false
    

    [要注意] このinclude_hidden: falseがミソで、これがついていないとチェックボックスにチェックを入れずに送信すると、NOT NULLだけに絞りこまれてしまいます。デフォルトで絞りこまない仕様になってないのでご注意を。

    ちなみに、これが使えるのはsimple_formのバージョン3.3.0からです!

    https://github.com/plataformatec/simple_form/blob/v3.3.0/lib/simple_form/inputs/boolean_input.rb#L58

    ↑の変更が3.3.0から追加されました。