我有一个模特"用户"直到现在还没有任何问题。我添加了一些验证并注意到我不再可以添加任何新用户 - 该记录将被回滚。所以我删除了验证,但我的记录仍在回滚。所以我从模型文件中删除了字面上的所有代码,所以它包含的是:
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
才能找回阻止记录保存的错误。
答案 0 :(得分:1)
试试这个:
user = User.new(name: "test")
user.save
user.errors # This should contain the errors that prevented your object from being saved.