当前在给定作用域的模型上使用validate_uniqueness_of
方法时遇到问题。
现在我有三张桌子:用户,学院,用户学院(在用户和学院之间加入(
User has_many :users_colleges
College has_many :users_colleges
UsersColleges belongs_to :user, :college
现在,我正在验证user_colleges的唯一性,这样一个用户只能有一个指定学院的条目。
validates_uniqueness_of :college_id, scope: :user_id
但是,当向我的用户更新特定学院时,验证失败——College has been taken
。这种行为只发生在特定的大学,我似乎不明白为什么。
Rails6的语法为:
validates :college_id, uniqueness: {scope: :user_id}
参见此处
我不知道是否支持旧的语法。