我有两张桌子。users superpowers
我希望每个user仅限于一个superpower。但是不同的users可以有相同的superpower。(山姆可以有火,约翰可以有闪电,莎拉也可以有闪电。但是每个用户只能拥有一个超级电源)
我想将外键存储在user表中。
has_one和belongs_to的关系是否适合这一点?
user has_one superpower.superpower belongs_to user
rails指南说,has_one建立了一对一的关系。但是一个微妙的细微差别并没有得到解决:“归属”模型(即superpowers) can belong to multiple "has_one-ing" models (i.e.users`),即每个关联都是一对一的关系(例如约翰有闪电,莎拉也有闪电)。
或者,这是否意味着“归属”模式和“拥有”模式在所有关联中都必须是唯一的?(例如,如果约翰有灯光,莎拉就不能有闪电)?
发布于 2014-05-13 12:39:18
查看您的描述(特别是有关外键在users表中的部分),关系应该是:
Superpower.has_many :users
User.belongs_to :superpower关联的belongs_to部分总是在使用外键的模型上。
https://stackoverflow.com/questions/23631448
复制相似问题