繁体   English   中英

拥有has_many通过

[英]belongs_to with has_many through

我正在使用Rails 2.3.11。

class ModelA < ActiveRecord::Base
  belongs_to :modelb
  has_one :modelc, :through => :modelb
end

class ModelB < ActiveRecord::Base
  belongs_to :modelc
end

class ModelC < ActiveRecord::Base
  has_many :modelb
end

a = ModelA.find(x)
a.modelc # is nil (why??)
a.modelb.modelc # works fine

有其他方法吗?

我发现了问题

inst_modelb = Factory(:modelb, :modelc => Factory(:modelc))
a=Factory(:modela, :modelb => inst_modelb)
a.modelc # was nil

#this worked
a.reload
a.modelc

它似乎是一个缓存问题。 虽然不能完全解释

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM