当我没想到它时,我得到一个零对象引用-ROR

时间:2012-01-17 07:03:28

标签: sql ruby-on-rails nomethoderror

通过以下命令从rails控制台更新数据库:

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

然后当我使用

更新它时
user.update_attributes(:email => "example@railstutorial.org", :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,这与本教程有关。我发现在网站上已经回答了类似的问题,但无法从中得到任何结果。所以在这里发布我的特定错误。

1 个答案:

答案 0 :(得分:4)

User.first返回nil,因此您无法获取对象,因为数据库中没有对象!并且nil没有update_attributes方法,因为它由ActiveRecord::Base继承。您的问题是您的数据库中没有数据!