Ruby on rails 渴望加载代理?
是否可以(通过includes()或类似方式)加载委托关联 当我尝试我希望的显而易见的解决方案时(假设ModelA属于ModelB,而ModelB又属于ModelC): 由于ModelA不知道ModelC,我得到了一个错误 我向ModelA添加了一个代表团:Ruby on rails 渴望加载代理?,ruby-on-rails,rails-activerecord,Ruby On Rails,Rails Activerecord,是否可以(通过includes()或类似方式)加载委托关联 当我尝试我希望的显而易见的解决方案时(假设ModelA属于ModelB,而ModelB又属于ModelC): 由于ModelA不知道ModelC,我得到了一个错误 我向ModelA添加了一个代表团: delegate :modelC, to: :modelB, allow_nil: false 这允许类似于: ModelA.first.modelC 但不能解决includes()问题 应该如何做到这一点?如果我正确理解了您的问题,我
delegate :modelC, to: :modelB, allow_nil: false
这允许类似于:
ModelA.first.modelC
但不能解决includes()问题
应该如何做到这一点?如果我正确理解了您的问题,我相信您可以使用即时加载
类ModelA
委托:modelC,to::modelB,allow_nil:false
属于:modelB
属于:modelC
结束
B类模型
有很多:modelAs
属于:modelC
结束
C类模型
有很多:模特儿
有很多:modelAs,通过::modelBs
结束
我认为您应该能够做的是(仅供参考,我自己还没有实际运行过此功能):
ModelA.includes(ModelB::ModelC).first.ModelC
有关这方面的一些相关信息,请参见和
我希望这有帮助 你应该使用
has\u many to
not delegate:Modela有许多modelba,Modela有许多ModelC,through:modelbrough:A属于B,B属于C。理想情况下,我希望A属于through,但这是不存在的。
ModelA.first.modelC