Ruby on rails 联合搜捕和通过联合搜捕

Ruby on rails 联合搜捕和通过联合搜捕,ruby-on-rails,ransack,Ruby On Rails,Ransack,我有以下型号 class A < ActiveRecord::Base has_many :B has_many :C, through: :B end I am trying to do a ransack search on A A.ransack( c_name_in: 'term', b_name_in: 'another_term' ) 有没有办法解决这个问题 SELECT DISTINCT a.* FROM a LEFT OUTER JOIN c ON

我有以下型号

class A < ActiveRecord::Base
  has_many :B
  has_many :C, through: :B
end

I am trying to do a ransack search on A 

A.ransack(
  c_name_in: 'term',
  b_name_in: 'another_term'
)
有没有办法解决这个问题

SELECT DISTINCT a.* FROM a
LEFT OUTER JOIN c ON c.a_id = a.id 
LEFT OUTER JOIN b ON b.id = c.b_id
LEFT OUTER JOIN c association_c ON association_c.a_id = a.id
WHERE (b.name ILIKE '%term%' AND association_c.name IN ILIKE '%anotherterm%'