我已经阅读了 rails 3 中的多对多关系,并看到 HABTM 已被“弃用”,因为has_many :through
大部分时间都应该使用它。
我看到了很多加入模型具有明确名称的示例,例如杂志、订阅者 = 订阅。
但就我而言,我找不到一个好名字:/有什么约定我应该注意的吗?顶部包含 1 或 * 个创意,一个创意可以在 1 或 * 个顶部。最后,这是最好的方法吗?
这是我的代码:
class Top < ActiveRecord::Base
has_many :???
has_many :ideas, :through => :???
end
class Idea < ActiveRecord::Base
has_many :???
has_many :ideas, :through => :???
end
class ??? < ActiveRecord::Base
belongs_to :top
belongs_to :idea
end
另外通过使用has_many,我不需要手动创建连接表吗?
谢谢你的帮助 :)
编辑:
顶部就像排名。所以顶部是按投票排序的想法的代表。一个想法是一个想法(一般来说)。例如,可以是 ruby on rails 的最佳实践和“使用 has_many through 而不是 HABTM”的想法。
所以一个 Top 包含 1 个或 * 个 Ideas,一个 Idea 可以属于 1 个或 * 个 tops。对于想法来说,它更像是一个belongs_to_many,但它不存在于ror 中。