2016-11-29 36 views
0

我有一個模型「用戶」,直到現在沒有任何問題。我添加了一些驗證,並注意到我不再可以添加任何新用戶 - 記錄將被回滾。所以我刪除了驗證,但我的記錄仍在回滾。因此,我從字面上消除所有的代碼從我的模型文件,它包含所有的是:記錄創建回滾沒有解釋

class User < ActiveRecord::Base 
end 

但我仍然得到同樣的錯誤。

在我的rails控制檯:

> User.create(name: "test") 
    (0.6ms) BEGIN 
    (2.3ms) ROLLBACK 
#=> #<User id: nil, name: "test", (et cetera)> 

我甚至不知道如何下手搞清楚什麼是錯的。我怎樣才能調試呢?我所有的其他模型正常工作。

這是我加入此之前開始:

blacklist = ['home'].freeze 
validates :name, exclusion: {in: blacklist} 

解決:

我綜合設計這個模型,所以有到位一些驗證是不是在我的設計。 rb文件。我必須運行@user.errors才能找回阻止記錄保存的錯誤。

+0

試試這個'User.create(名稱: 「測試」)!' –

+0

您可以隨時檢查記錄是'.valid'和'.errors有效還是無效? '會給你帶來錯誤 –

回答

1

試試這個:

user = User.new(name: "test") 
user.save 

user.errors # This should contain the errors that prevented your object from being saved.