我在类中有一个验证器,如下所示
validates_uniqueness_of :email, {message: 'this is not a unique email :('}
我希望将此错误添加到错误对象的自定义属性,例如
{errors: {already_invited: true}}
我该如何做到这一点?
答案 0 :(得分:0)
你可以做这样的事情
validates_uniqueness_of :email, {message: 'this is not a unique email :('}
validate :previous_invite
def previous_invite
#if already_invited is an attribute of the model then use
# errors.add(:already_invited, "true") otherwise add it to base
errors.add(:base, "already invited") if errors.added?(:email,'this is not a unique email :(')
end
你不应该只是向errors
添加任意键,但如果您真的喜欢它,那么根据文档,它只是被认为是糟糕的形式:
如果错误与单个属性没有直接关联,属性应设置为:base。
此外,邮件将被视为字符串而不是布尔值。所以它不是already_invited: true
而是already_invited: "true"