我有以下问题:
我的 rails 应用程序中有两个类,由 HABTM 协会加入,如下所示:
#ad.rb
has_and_belongs_to_many :specs
#spec.rb
has_and_belongs_to_many :ads
由 ads_specs 表连接。我正在尝试使用出色的 searchlogic gem 对 Ad 类进行搜索。一切都很顺利,直到我想返回所有具有所有选定规格的广告,而不是其中的任何一个。
我试过@ads = Ad.specs_id_like_all(id1, id2, id3)
但没有结果,因为我认为它试图匹配一个带有“id1,id2,id3”的规范。我还尝试 .split id 或直接在数组中键入它们,但没有任何效果。
我的确切搜索查询是:
if params[:search]
@ads = Ad.search(:price_lte => params[:search][:price],
:rulaj_lte => params[:search][:rulaj],
:fabrication_date_gte => Date.new(params[:search][:"an_fabr(1i)"].to_i,"01".to_i,"01".to_i)).specs_id_like_all(2, 457, 233)
else
@ads = Ad.all
end
你们知道我该如何解决这个问题吗?我发誓这是我最后一次在 Rails 应用程序中使用 HABTM 关联,但是在开发过程的后期更改为多态关联已经太晚了:)。