[英]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.