Rails:has_many:通过没有额外的表

时间:2012-07-29 17:41:25

标签: ruby-on-rails-3 activerecord

我有一个名为Container的模型。此模型只有一个关联链接列表。所以我创建了表容器,链接和containers_links。现在我想连接我的两个模型。所以我做了

class Container < ActiveRecord::Base
  has_many :links, :through => :containers_links
end

class Links < ActiveRecord::Base
  has_many :containers, :through => :containers_links
end

但是我有一个错误,因为我的模型中没有使用containers_links的反射。我可以添加类似

的内容
has_many :containers_links

但我没有模型ContainersLinks(我不想创建一个)。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以使用has_and_belongs_to_many关系

class Container < ActiveRecord::Base
  has_and_belongs_to_many :links
end

class Links < ActiveRecord::Base
  has_and_belongs_to_many :containers
end

但您仍需要创建join table