按太阳黑子中的关联字段排序

时间:2012-07-27 11:13:27

标签: ruby-on-rails ruby solr sunspot

在我的应用中,我使用太阳黑子进行全文搜索。问题是我想按关联模型字段进行排序。就我而言:

class Movie < ActiveRecord::Base
  attr_accessible :description, :genre, :name
  has_many :premieres
end

我的Premier模型有:

belongs_to :movie

按电影名称搜索是通过定义方法来完成的:

def movie_name
  movie.name
end

但是当我尝试做的时候:

order_by :movie_name, :asc

它说:

  

没有为Premiere配置名称为'movie_name'

的字段

如何进行此排序?

1 个答案:

答案 0 :(得分:1)

你可以这样做

searchable auto_index: true do
  text :movie_name do
    if self.movie.present?
      self.movie.name
    end
  end
end

然后你可以使用

order_by :movie_name, :asc