我试图为Rails4找到答案但是所有类似的问题都有不同的情况..当我这样做时
class Law < ActiveRecord::Base
has_and_belongs_to_many :categories
has_many :categories, -> { uniq }, through: :statutes
has_many :categories, -> { uniq }, through: :sections
你可以看到法律从3个不同的来源获得类别。但它只是读取最后一个,并通过部分向我展示类别。如何合并上述三个语句。 (我正在跳过此模型中的其他关系)。
答案 0 :(得分:0)
您的上一个关联将覆盖前两个关联,因为它们具有相同的名称。您可以用不同的方式命名您的关联以解决此问题,例如:
class Law < ActiveRecord::Base
has_and_belongs_to_many :categories
has_many :status_categories, -> { uniq }, through: :statutes, source: :categories
has_many :section_categories, -> { uniq }, through: :sections, source: :categories