У меня следующая проблема:
В моем приложении rails есть два класса, к которым присоединяется ассоциация HABTM, например:
#ad.rb
has_and_belongs_to_many :specs
#spec.rb
has_and_belongs_to_many :ads
, к которым присоединяется таблица ads_specs.Я пытаюсь выполнить поиск по классу Ad, используя превосходный драгоценный камень searchlogic.Все шло нормально, пока я не хотел вернуть все объявления, которые имеют ВСЕ выбранные спецификации, а не какие-либо из них.
Я пытался @ads = Ad.specs_id_like_all(id1, id2, id3)
, но безрезультатно, так как я думаю, что он пытается сопоставить спецификацию сидентификатор "id1, id2, id3".Я также пытался разделить идентификаторы или напрямую ввести их в массив, но ничего не получилось.
Мой точный поисковый запрос:
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
У вас, ребята, есть идеи, как я могу решитьЭта проблема?Клянусь, это последний раз, когда я использую ассоциации HABTM в приложении rails, но уже так поздно переходить к полиморфному так поздно в процессе разработки:).