正在回滚的记录创建没有解释

时间:2016-11-29 06:36:35

标签: ruby-on-rails ruby activerecord model

我有一个模特"用户"直到现在还没有任何问题。我添加了一些验证并注意到我不再可以添加任何新用户 - 该记录将被回滚。所以我删除了验证,但我的记录仍在回滚。所以我从模型文件中删除了字面上的所有代码,所以它包含的是:

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}

解决:

我将Devise与此模型集成在一起,因此我的Devise.rb文件中没有一些验证。我必须运行@user.errors才能找回阻止记录保存的错误。

1 个答案:

答案 0 :(得分:1)

试试这个:

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

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