通过以下命令从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,这与本教程有关。我发现在网站上已经回答了类似的问题,但无法从中得到任何结果。所以在这里发布我的特定错误。
答案 0 :(得分:4)
User.first
返回nil
,因此您无法获取对象,因为数据库中没有对象!并且nil
没有update_attributes
方法,因为它由ActiveRecord::Base
继承。您的问题是您的数据库中没有数据!