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