【发布时间】:2015-04-09 19:58:29
【问题描述】:
我在您的浏览器中写了“http://localhost:3000/items/create?name=car1&description=good+car&price=500000&weight=0&real=1”,出现错误
nil:NilClass 的未定义方法 `inc'
提取的源代码(第 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"}
【问题讨论】:
-
这简直是在告诉您您正在对
nil对象调用方法inc。在您的代码中,您使用category.inc(some_args),然后category等于nil。请改用self.inc,self引用您正在执行代码的上下文,或使用after_create { |category| category.inc(:items_count, 1) }
标签: ruby-on-rails