在我的用户模型中,我有
validates :email, :presence=>true,
:format => { :with => email_regex },
:uniqueness => true
在我的控制器中,如果用户选择更改电子邮件,我会更新电子邮件:
@user.update_attribute("email","#{@new_email}")
但是,如果不遵守格式,则不会抛出错误。
答案 0 :(得分:3)
update_attribute不进行验证。使用
@user.update_attributes({ :email => @new_email })
代替。
答案 1 :(得分:0)
我发现update_attribute会跳过检查验证但update_attributes没有!有趣。
http://apidock.com/rails/ActiveRecord/Base/update_attributes