例子:
我有以下内容:
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 中“调用”它?
谢谢