ruby-on-rails - 有_许多 :through without a join table

标签 ruby-on-rails activerecord associations

我正在查看一些设置 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_tohas_one< 进行配置,但这听起来不像你的情况。

关于ruby-on-rails - 有_许多 :through without a join table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17032268/

相关文章:

ruby-on-rails - 在多个方法中添加相同的代码

ruby-on-rails - 查找在一周中的特定日期创建的所有记录

ruby-on-rails - Rails 中的多个嵌套包含

sql - 基于 bool 列的条件求和

ruby-on-rails - ActionText 的非图像附件问题

ruby-on-rails - 升级到 devise 3.1 => 获取重置密码 token 无效

ruby-on-rails-3 - Rails - 如何使用重新加载方法?

database - Apriori 算法的数据集

ruby-on-rails - 如何在 Rails 4 中渲染 xml

orm - 具有干净持久层的域类/实体(DAO、工厂……)