0

私のアプリでは、全文検索に 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

それは言います:

「movie_name」という名前の Premiere 用に構成されたフィールドがありません

この並べ替えを利用できるようにするにはどうすればよいですか?

4

1 に答える 1

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
于 2012-11-07T18:25:09.623 に答える