2013-10-04 60 views
5

我试图通过更新铁轨控制台记录和我得到回滚错误:查看原因

Project.find(118).update_attributes(:featured=>true) 
    Project Load (2.6ms) SELECT "projects".* FROM "projects" WHERE "projects"."id" = $1 LIMIT 1 [["id", 118]] 
    (2.8ms) BEGIN 
    (1.3ms) ROLLBACK 
=> false 

如何查看错误的来源是什么?我能够更新其他记录的属性,所以我想检查为什么这个特定的记录不起作用。

+0

的可能重复[如何找到的ActiveRecord ROLLBACK的原因(http://stackoverflow.com/questions/9060014/how-to-find -reactiverecord-rollback) – lulalala

回答

12

您的Project实例可能无效。要看看有什么错误,从节约阻止它,你可以输入:

project = Project.find 118 
project.assign_attributes(featured: true) 
project.valid? 
project.errors.full_messages 
+0

project.errors.full_messages是完美的,谢谢! – scientiffic

+1

是的,只是等到我可以(几分钟) – scientiffic