什么是轨道中的NoMethodError?

我不是一个新手在铁轨,所以这是尴尬,但我不断得到一个nomethoderror我不知道发生了什么。

这是错误

在这里输入图像描述

这是我的控制器

在这里输入图像描述


find_item您正在设置@post ,而不是@item ,这使得视图无效。


在这种情况下,如果您在实例中没有匹配的方法,则会发生这种情况,在这种情况下,如果您查看show动作,它只执行find_item ,而find_item仅返回@post实例而不是@item实例。

只需在控制器@post更改为@item


ActiveRecord会自动为您提供实例属性的getter和setter方法。 @item.title@item对象上调用title方法。 如果该方法未在其被调用的对象上定义,则NoMethodError异常。

您在访问show时看到的错误是因为@item实例变量未在控制器中初始化,因此在视图文件show.html.erb ,即缺省情况下为零,并且Rails抱怨没有方法标题上nil的对象(如零对象不必须的是方法, @item@post可能具有它根据相应的表中是否存在该列)

链接地址: http://www.djcxy.com/p/86319.html

上一篇: What is NoMethodError in rails?

下一篇: Basic c program not compiling in Ubuntu trusty