【发布时间】:2019-04-25 17:34:08
【问题描述】:
这可能是一个愚蠢的问题,但我想确保我理解“范围”字段如何具有唯一性模型约束。
我按照本指南:https://dankim.io/mutual-friendship-rails/ 了解如何在 Rails 中处理“朋友”关联。一方面,它谈到了制定唯一性约束:
validates :friend, presence: true, uniqueness: { scope: :user }(在 friendship 模型中。
所以这是说friend_id 字段不应该与相同的user_id 字段重复,对吗?
这不也可以作为:
validates :user, presence: true, uniqueness: { scope: :friend }
如果user_id 具有重复的friend_id,则用户不应出现多次。还是我误解了scope 在这里的工作原理?
谢谢!
【问题讨论】:
-
我假设用户正在添加好友,这意味着原始验证确保好友对用户来说是唯一的。反之则意义不大,因为错误将附加到
user_id,就好像朋友正在添加用户一样,但是是的,无论哪种方式,验证都会以同样的方式失败
标签: ruby-on-rails