使用 elasticsearch rails 搜索 has_many 表内容 4
search has_many tables contents with elasticsearch rails 4
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" 的新手。我可以通过上面的 "reports" 搜索 code.But 如何包含 "schedules" 以便我可以搜索它的数据实体 model.Please 帮帮我。
在 has_many :reports,:dependent=>:destroy
之后将以下行添加到您的 Entity
模型
has_many :schedules, :through => :reports
并确保您的 Schedule
模型中有 belongs_to :report
。
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" 的新手。我可以通过上面的 "reports" 搜索 code.But 如何包含 "schedules" 以便我可以搜索它的数据实体 model.Please 帮帮我。
在 has_many :reports,:dependent=>:destroy
Entity
模型
has_many :schedules, :through => :reports
并确保您的 Schedule
模型中有 belongs_to :report
。