Ruby on Rails (Ruby 1.9.3 Rails 3.2) でプログラムされた、サポーター向けのサポート チケット システムを作成しました。
belongs_to
ユーザー(サポーター)に関連付けられたチケットモデルがあります。
検索には Ernie の gem Ransack を使用します。サポーターが自分のチケット (tickets_controller.index で処理) を検索すると、関連付けられていないチケットも検索結果 (views/tickets/index) に表示されるはずです (「日付」などの他の検索条件と組み合わせて)。
(彼がオープンチケットを取ることができるように)
予想される SQL ステートメント:
SELECT * FROM tickets WHERE ... AND (user_id=5 OR user_id IS NULL) AND ...
インデックス ビューの検索フォームで試しuser_id_null_or_user_id_eq
ましたが、機能しません (メソッド エラーはありません)。
この問題を解決するカスタム述語 (またはランサッカー) を作成するにはどうすればよいですか? (このコメントをありがとう@Magnuss)
残念ながら、私はアレルの経験がありません
何かのようなもの:
ransacker :user_null_or_eq do
...
end
チケットモデルで。
これで問題がより詳細に説明されることを願っています。
助けてくれてありがとう。