【问题标题】:Can sunspot-solr filter_by nested attributes?sunspot-solr filter_by 可以嵌套属性吗?
【发布时间】:2010-08-23 14:36:04
【问题描述】:

假设我有 People,而 People 有_many Watermelon。

我有一个 filter_by 可以用于 People 属性,例如:

:filter_by => 'has_eaten_today'

但是我可以为西瓜的嵌套属性做一个:filter_by 吗?例如:

:filter_by => 'watermelons.created_at'

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby search solr sunspot


    【解决方案1】:

    这个问题来自我并不真正了解 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 })
    

    祝你胃口大开!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      • 2017-02-24
      • 1970-01-01
      • 1970-01-01
      • 2012-03-16
      • 2017-04-16
      相关资源
      最近更新 更多