0
我有一个使用Devise作为身份验证的应用程序。我不希望用户能够在那里更改电子邮件地址。我已经通过将电子邮件属性设置为只在用户模型中进行了读取。Rails设计回滚事务不会给出错误
class User < ActiveRecord::Base
attr_readonly :email
end
这工作正常:Rails回滚事务。然而,设计认为更新是成功的并显示消息成功消息。
"Your account has been updated successfully."
我已经试过几件事情,包括创建我的ONW梅索德会返回一个闪光的通知,但它口口声声说该帐户已成功更新。
有没有办法在记录未成功保存时引发错误?
在Ashvin's anwser后编辑。这是我在我的模型:
def email=(address)
begin
if new_record?
write_attribute(:email, address)
end
rescue Exception => error
flash[:alert] = error.message
end
end
我试过的代码,但它仍然是说,它成功地更新要执行 – Samuel
什么动作,可以请你在这里粘贴代码,这样我就可以得到确切的想法。 – ashvin
我已经添加了我正在使用的代码自定义代码。我认为,如果电子邮件地址与params [:email]不同,那么在控制器中进行检查可能会更好。 – Samuel