【发布时间】:2016-12-03 09:33:14
【问题描述】:
不确定which association 最适合我想要的。基本上它是一个待办事项列表。该列表是一个任务,该任务有很多用户。
ie:挖一个洞,种一些种子。挖一个洞需要两个或更多的人。吉姆和乔正在挖坑,之后乔会播种。所以要完成两个列表,第一个由两个用户完成,另一个由一个用户完成。如果需要,两个用户都可以完成这两个列表。
- 待办事项:有很多列表
- 列表:属于待办事项
- 列表:有很多用户
- 用户:有很多列表
如果我不清楚,todo 上的每个任务(列表)都可以由任何用户完成。我很难看到在用户表上放置list_id 的位置。这是不可能的,因为该用户可以同时做另一个(列表)。我不确定through: :association 是如何在这里发挥作用的。
User.first.lists #= []
Todo.first.lists.first.users #= []
我什么也没得到,因为user_id 需要去某个地方。
【问题讨论】:
-
你有一个多对多的关系......你不能通过将 list_id 放在用户表中来解决这个问题,你需要创建一个关联(联结)表来解决这个问题。有关示例,请参阅stackoverflow.com/questions/497395/…。
-
嗨,大卫。我也去那里看看。谢谢
标签: ruby-on-rails ruby-on-rails-5