Jak w tytule. Udało się komuś pogodzić Binarylogic’s Searchlogic z Acts_as_taggable_on_steroids, konkretnie z metodą find_tagged_with? Chodzi mi oczywiście o eleganckie uwzględnienie taga, według którego [także] ma być szukanie, jeśli w ogóle mamy tag_id w paramsach.
OK, gdyby ktoś był zainteresowany jak pożenić acts_as_taggable_on_steroids z warunkami wyszukiwania wygenerowanymi przez searchlogic i RESTowymi ścieżkami zarazem - konkretnie do znalezienia obiektów według podanych warunków i opcjonalnie z danym tagiem (przekazanym w ścieżce jako :tag_id).
#JOIN wyciagniety z AATOS @somethings = @search.find(:all, :joins => “INNER JOIN taggings somethings_taggings
ON somethings.taggable_id = somethings.id
AND somethings.taggable_type = ‘Something’
INNER JOIN tags somethings_tags
ON somethings_tags.id = somethings_taggings.tag_id”)[/code]
Jest to hack niestety, wynikający z “kompleksowości” generowanego przez AATOS SQLa. W każdym razie działa jak trzeba.
To, za co kocham searchlogic, to nieuwzględnianie w budowaniu SQLa danego parametru jeśli wartość przekazana jest nil. Rewelacja. Głównie dlatego go używam. No, może jeszcze do escape’owania parametrów tekstowych
Przerzucamy do Tips & Tricks, panowie moderatorzy?
Masz może metodę na wyszukanie dla taga - taggings w jakim został użyty (to proste) plus stronicowanie tego (tu leżę)? To znaczy, zeby w ‘show’ taga wyrzucic liste wszystkich miejsce w jakich został użyty (w kilku modelach) i stronicowanie tego.