Может sunspot-solr filter_by вложенные атрибуты? - PullRequest
1 голос
/ 23 августа 2010

Допустим, у меня есть Люди и Люди has_many Арбуз.

У меня есть filter_by, который может работать с атрибутами людей, например:

:filter_by => 'has_eaten_today'

Но могу ли я сделать :filter_by для вложенного атрибута арбуза?Например:

:filter_by => 'watermelons.created_at'

Спасибо!

1 Ответ

2 голосов
/ 23 августа 2010

Этот вопрос пришел от меня, не очень понимая Sunspot-solr, но его довольно легко

Просто выберите вложенные атрибуты из вашей модели:

def watermelon_time
  self.watermelon.created_at
end

Затем добавьте это к

searchable do
  time :watermelon_time
..

Тогда мой контроллер:

query.with(:watermelon_time).equal_to(params[:filter_by] == 'watermelon_time' ? 'true' : false) if params[:filter_by]

Дополнительный бонус:

Добавлена ​​ссылка для написания этой функциональности в моем:

= link_to 'Watermelon Time', url_for(:overwrite_params => { :filter_by => 'watermelon_time', :page => nil })

Приятного аппетита!

...