@@ -332,18 +332,22 @@ def apply_filter(records, filter, value)
332332
333333 def apply_filters ( records , filters )
334334 required_includes = [ ]
335- filters . each do |filter , value |
336- if _associations . include? ( filter )
337- if _associations [ filter ] . is_a? ( JSONAPI ::Association ::HasMany )
338- required_includes . push ( filter )
339- records = apply_filter ( records , "#{ filter } .#{ _associations [ filter ] . primary_key } " , value )
335+
336+ if filters
337+ filters . each do |filter , value |
338+ if _associations . include? ( filter )
339+ if _associations [ filter ] . is_a? ( JSONAPI ::Association ::HasMany )
340+ required_includes . push ( filter )
341+ records = apply_filter ( records , "#{ filter } .#{ _associations [ filter ] . primary_key } " , value )
342+ else
343+ records = apply_filter ( records , "#{ _associations [ filter ] . foreign_key } " , value )
344+ end
340345 else
341- records = apply_filter ( records , " #{ _associations [ filter ] . foreign_key } " , value )
346+ records = apply_filter ( records , filter , value )
342347 end
343- else
344- records = apply_filter ( records , filter , value )
345348 end
346349 end
350+
347351 if required_includes . any?
348352 records . includes ( required_includes )
349353 elsif records . respond_to? :to_ary
0 commit comments