假设我有 People,而 People has_many Watermelon 。
我有一个 filter_by 可以用于 People 属性,例如:
:filter_by => 'has_eaten_today'
但是我可以:filter_by
为西瓜的嵌套属性做一个吗?例如 :
:filter_by => 'watermelons.created_at'
谢谢!
假设我有 People,而 People has_many Watermelon 。
我有一个 filter_by 可以用于 People 属性,例如:
:filter_by => 'has_eaten_today'
但是我可以:filter_by
为西瓜的嵌套属性做一个吗?例如 :
:filter_by => 'watermelons.created_at'
谢谢!
这个问题来自我并不真正了解 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 })
吃好喝好!