1
我想实现多态关联的验证,我只希望它在某种类型上触发。哪个是用户。验证多态关联的唯一性
我想是这样的:
validates :room_id, uniqueness: { scope: tokenable_id if tokenable type is User }
我怎么去这样做。另一种是客户。我想让这个机会成为几个。
我想实现多态关联的验证,我只希望它在某种类型上触发。哪个是用户。验证多态关联的唯一性
我想是这样的:
validates :room_id, uniqueness: { scope: tokenable_id if tokenable type is User }
我怎么去这样做。另一种是客户。我想让这个机会成为几个。
我认为你可以使用Conditional Validation
有时它才有意义,只有当一个给定的 谓词是满足验证的对象。您可以通过使用:if和:来做到这一点,除非可以使用符号,字符串,Proc或数组。当您想要指定何时应该发生验证 时,您可以使用:if选项。如果你想指定何时验证不应该发生,那么你可以使用:unless选项。
5.1使用符号用:if和:除非
您可以关联的:if和:除非有相应的方法的名称会马上叫一个符号 选项 验证发生之前。这是最常用的选项。
class Order < ActiveRecord::Base
validates :room_id, uniqueness: { scope: :tokenable_id }, if: :is_right_type?
# or maybe this will work
validates :room_id, uniqueness: { scope: :tokenable_id }, if: :user?
def is_right_type?
type == "user"
end
end
请注意,您也可以给':if'字符串选项,例如, 'id:“type =='user'”' – eirikir