更新后验证rails中的电子邮件

时间:2011-04-18 05:42:20

标签: ruby-on-rails

在我的用户模型中,我有

  validates :email, :presence=>true,   
:format   => { :with => email_regex },
:uniqueness => true

在我的控制器中,如果用户选择更改电子邮件,我会更新电子邮件:

@user.update_attribute("email","#{@new_email}")

但是,如果不遵守格式,则不会抛出错误。

2 个答案:

答案 0 :(得分:3)

update_attribute不进行验证。使用

@user.update_attributes({ :email => @new_email })

代替。

答案 1 :(得分:0)

我发现update_attribute会跳过检查验证但update_attributes没有!有趣。

http://apidock.com/rails/ActiveRecord/Base/update_attributes