2012-01-17 40 views
0

同时使用下列命令更新从铁轨控制台数据库:我得到一个零对象引用的时候,我不希望它-ROR

user=User.first 
    User Load (0.4ms) SELECT "users".* FROM "users" LIMIT 1 
=> nil 

,然后当我使用更新

user.update_attributes(:email => "[email protected]", :password => "foobar", :password_confirmation => "foobar")` 

我得到此错误:

NoMethodError: You have a nil object when you didn't expect it! 
You might have expected an instance of ActiveRecord::Base. 
The error occurred while evaluating nil.update_attributes 

我想从mhartl教程中学习ROR,这与本教程有关。我发现在网站上已经回答了类似的问题,但无法做出任何表示。所以张贴我的具体错误在这里。

+2

因此,您显然在数据库中没有用户。 – 2012-01-17 07:04:42

回答

4

User.first返回nil所以你不会得到一个对象,因为数据库中没有对象!并且nil没有update_attributes方法,因为这是由ActiveRecord::Base继承的。你的问题是你的数据库中没有数据!

+0

Woah减速:)小心那些错别字。 – 2012-01-17 07:24:39

+0

其正确...似乎用户表中没有记录。 – 2012-01-18 07:39:23

+0

这是一个愚蠢的错误。谢谢回复。 – 2012-01-19 11:41:37

相关问题