次の1つの値を渡すことで、ラムダ関数を使用してRailsスコープを実行しようとしています。
"scope :for_rank, lambda {|rank| where('min_rank <= ? AND max_rank >= ?', rank, rank)}"
ただし、max_rankがnullである可能性があります。この状況では、クエリでmin_rank <=?のみを実行する必要があります。部。これどうやってするの?
例:
"a.min_rank = 10"
"a.max_rank = 20"
"b.min_rank = 15"
"b.max_rank = nil"
for_rank(15)を検索すると、aとbの両方が返されるようにしたいと思います。