class Entity < ActiveRecord::Base
 include Tire::Model::Search
 include Tire::Model::Callbacks
 has_many :reports,:dependent=>:destroy

 def self.search(params)
    tire.search() do
     query { string params[:query] } if params[:query].present?
    end
 end

 def to_indexed_json
   to_json(:include => [:reports])
 end

end

class Report < ActiveRecord::Base
 belongs_to :entity
 has_many :schedules,:dependent=>:destroy
end

我是“elasticsearch”的新手。我可以通过上述代码搜索“报告”。但是我如何包括“时间表”,以便可以在实体模型中搜索其数据。请帮帮我。

最佳答案

将以下行添加到Entity之后的has_many :reports,:dependent=>:destroy模型中

has_many :schedules, :through => :reports

并确保您的belongs_to :report模型中包含Schedule

关于ruby-on-rails - 使用elasticsearch rails搜索has_many表内容4,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34007224/

10-10 04:40