我试图构建如展示的多级模型。当用户创建一个活动时,他们将从表类别和地铁中选择一些类别和一些地铁。然后这些选择将作为campaign_category和campaign_metro放在两个表中。但是,在创建这些条目后,我希望能够使用表campaign_category_metro中这些组合的排列填充另一个表,以便链接广告系列,为用户选择的类别和都市区设置出价。Rails Multi Level has_many通过
更新:
例如说一个用户创建具有ID 10和ID为1和2的选择的类别的运动,并显示已ID 3和4在表中campaign_category地铁:
,并在表campaign_metro出现:
在campagin_category_metro我希望有上述作为从表中的那些置换行:
然后用户可以设置在这些运动/地铁组合出价。
截至目前,在创建广告系列和选择类别和地铁时,我可以获取表格campaign_category和campaign_metro,但最终的表格campaign_category_metro保持空白。下面是我的模型是:
第一层次:
class Campaign < ActiveRecord::Base
has_many :campaign_metros, dependent: :destroy
has_many :metros, through: :campaign_metros
has_many :campaign_categories, dependent: :destroy
has_many :categories, through: :campaign_categories
end
class Category < ActiveRecord::Base
has_many :campaign_categories, dependent: :destroy
has_many :campaigns, through: :campaign_categories
end
class Metro < ActiveRecord::Base
has_many :campaign_metros, dependent: :destroy
has_many :campaigns, through: :campaign_metros
end
二级(填充,而是关系到campaign_category_metro什么都不做):
class CampaignCategory < ActiveRecord::Base
belongs_to :campaign
belongs_to :category
has_many :campaign_category_metros, dependent: :destroy
has_many :campaign_metros, through: :campaign_category_metros
end
class CampaignMetro < ActiveRecord::Base
belongs_to :campaign
belongs_to :metro
has_many :campaign_category_metros, dependent: :destroy
has_many :campaign_categories, through: :campaign_category_metros
end
第三级(什么也不显示在创建):
class CampaignCategoryMetro < ActiveRecord::Base
belongs_to :campaign_category
belongs_to :campaign_metro
end
我怎样才能允许第三级表是po在创立活动时选择了所选类别和地铁的排列组合?
你想用CampaignCategoryMetro解决什么问题?即使它被填充,其中的信息也是多余的。 – 2014-09-26 00:37:44
是的,你为什么加入模型需要记录来知道其他模型是什么?你可以问它的父母。 – DiegoSalazar 2014-09-26 00:53:19
我已更新表campaign_category_metro以说明原因。每个类别和地铁的选择,这些分组的组合都将有其各自的投标价格,用户以后可以设置 – Sauron 2014-09-26 00:54:27