我有一个分配模型,它具有以下字段::user_id、:company_id、:role_id
每个用户在公司内可以有多个角色,但每个公司只能有一个角色 ID == 5 的用户。
我想做类似下面的事情(显然这不起作用)。
validates :company_id, :uniqueness => { :scope => :role_id => {:is => 5}, :message => "Only one owner is allowed." }
有没有办法以与上述类似的格式实现这一点,还是我需要创建一个自定义验证宏?
如果需要自定义验证,这将如何完成?如果需要创建一个继承自 ActiveModel::EachValidator 的新类,那么存储此代码的“正确”位置在哪里?(我是将它保存在同一个文件中还是创建一个新文件并可能将其保存在 /lib 中?)
提前致谢。