如何删除此错误:nil的未定义方法`inc':NilClass

时间:2015-04-09 19:58:30

标签: ruby-on-rails

我在你的浏览器中写道" http://localhost:3000/items/create?name=car1&description=good+car&price=500000&weight=0&real=1" ,我收到了错误

未定义的方法`inc'为零:NilClass

摘录的来源(第11行):

9 after_initialize { puts 'initialize' } 
10 after_save { puts 'saved' } 
11 after_create { category.inc(:items_count, 1) }  
12 after_update { puts 'updated' } 
13 after_destroy { category.inc(:items_count, -1) } 
14

Rails.root:E:/ work / my_store

应用程序跟踪|框架跟踪|完整跟踪

app/models/item.rb:11:in `block in <class:Item>'
app/controllers/items_controller.rb:9:in `create'

请求

参数:

{"name"=>"car1",
 "description"=>"good car",
 "price"=>"500000",
 "weight"=>"0",
 "real"=>"1"}

1 个答案:

答案 0 :(得分:1)

在第11行,你正在做category.inc(:items_count, 1)所以这意味着此类别目前为零。我没有看到控制器代码,所以我猜你还没有创建类别,或者没有将category变量设置为正确的值。实际上通常没有必要做像

这样的事情
   category.inc(:items_count, 1)

因为如果一切都设置正确,你可以随时

   category.items.count

计算类别中的所有项目。

您是否尝试完成任何教程?我推荐Michael Hartl's tutorial。这很简单,但你可以从中学到很复杂的东西。