我有一个“工厂模块”,与“冰淇淋模型”有“has_many”关系。我已经完成了工厂模块与另一个“所有者模型”的混合,这样我就可以拥有“所有者”与“冰淇淋表”的关系。问题是我无法使用“所有者”对象获取冰淇淋我认为关系定义有问题。 工厂模型的定义如下。
module Factory
extend ActiveSupport::Concern
included do
has_many :icecreams, :dependent => :nullify
end
Icecream的关系定义是这样的
Class Icecream < ActiveRecord::Base
belongs_to :factory, :class_name => "Owner", :foreign_key => "factory_id"
答案 0 :(得分:0)
试试这个,我希望它能为你使用。
module Factory extend ActiveSupport::Concern def self.included(base)> base.instance_eval("has_many :icecreams, :dependent => :nullify ) end
答案 1 :(得分:0)
解决了它。 必须定义关联双方(has_many,belongs_to)。 我在belongs_to方面定义了foreign_key:“factory_id”。 现在从has_many方面我希望我的关联使用带有“factory_id”的look_up,因此我必须在has_many端创建foreign_key:“factory_id”。
module Factory
extend ActiveSupport::Concern
included do
has_many :icecreams, :dependent => :nullify, :foreign_key => "factory_id"
end