1

例:

私は次のものを持っています:

class Person < ActiveRecord::Base
  has_many :educations
end

class Education < ActiveRecord::Base
  belongs_to :school
  belongs_to :degree
  belongs_to :major
end

class School < ActiveRecord::Base
  has_many :educations
  # has a :name
end

特定の学校に通ったすべての人を返すことができるようにしたいので、 PeopleController#index に

@search = Person.search do
  keywords params[:query]
end

@people = @search.results

Person モデルで検索可能なメソッドを作成して学校に到達するにはどうすればよいですか? 私はこのようなことをしますか:

searchable do
  text :school_names do
    educations.map { |e| e.school.name }
  end
end

私は最終的に教育(学位など)の各属性を処理する必要がありますか、それとも教育で検索可能なメソッドを作成し、それをPerson.searchableから何らかの方法で「呼び出す」ことができますか?

ありがとう

4

1 に答える 1