2016-11-29 39 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.