1
我試圖用主機記錄(id,hostname,netid)和具有表示兩個路由之間的連接的路由連接的表建模(id,src_id,src_ip,dst_id ,dst_ip)。無法:包含具有兩種關係的模型
當我嘗試檢索主機的所有路由記錄時:包括主機表(以便我可以獲取主機名),它只檢索路由記錄。我究竟做錯了什麼?
class Host < ActiveRecord::Base
has_many :routes
end
class Route < ActiveRecord::Base
belongs_to :srchost, :class_name => 'Host', :foreign_key => 'src_id'
belongs_to :dsthost, :class_name => 'Host', :foreign_key => 'dst_id'
end
x = Route.where(:src_id => host).includes(:srchost, :dsthost)
puts x.inspect
你可能會想試試這個:'Route.includes(:主機)。凡(:src_id =>主機)' – depa
謝謝,但沒有命名的主機關聯。我得到的錯誤'協會名'主機'沒有被發現' – Michelle
當你用':srchost,:dsthost'替換':host'時它工作嗎? – depa