我正在查看一些设置 User
模型的示例 Rails 代码,如下所示:
has_many :posts, :foreign_key => :author_id
has_many :comments, :foreign_key => :author_id
has_many :post_feedback, :through => :posts, :source => :comments
虽然我可以理解它在做什么,但我无法在 Rails 文档中找到此功能的示例,这似乎表明 has_many 始终需要连接表:through
协会。
是否有一条经验法则可以应用于不需要连接表的情况?
最佳答案
如果您觉得不需要连接模型,可以使用 has_and_belongs_to_many
来完成此操作。 。但您仍然需要数据库中的连接表。没有任何办法可以解决这个问题,因为这是使用 RDBMS 建模多对多关系的唯一方法。
如果您认为不需要连接表,那么您可能有一对多或一对一关系,可以使用 belongs_to
和 has_one< 进行配置
,但这听起来不像你的情况。
关于ruby-on-rails - 有_许多 :through without a join table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17032268/