示例:
我有以下内容:
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的那个?
由于
答案 0 :(得分:0)
最好将特定模型的所有索引字段的声明保留在同一个地方。
另外,你做得很好:索引:school_names,对你想要索引的其他关联字段做同样的事情。