我很确定这是一个非常基本的问题。无论如何,我找不到合适的信息。
我有3个模特。
用户 - 任务 - 备注
用户和任务处于同一级别,因为任务是Projects模型的子级,并且它们用作模板。 然后,对于每个用户,我显示项目的所有任务并添加注释。 在这种情况下的注释是两个用户和任务的子项,实际上它们是两者组合的子项。
解决此问题的最佳方法是什么?我检查了多态关联,似乎在这种情况下它不起作用。
干杯, 的Davide
答案 0 :(得分:0)
根据我对您的问题的理解,多态关联正是您想要的,因为用户拥有许多Notes,而且任务有很多Notes。
关系看起来像这样
user.rb和task.rb 中的
has_many :notes, :as => :noteable
在note.rb
中belongs_to :noteable, :polymorphic => true
在您的创建笔记迁移中
t.references :noteable, :polymorphic => true
请注意,用户和任务都可以包含Notes,Notes可以属于用户或任务(或使用可记录多态接口连接的任何其他内容)。