rails中的NoMethodError是什么?

时间:2016-11-23 17:39:15

标签: ruby-on-rails ruby

我不是铁杆的新手,所以这很令人尴尬,但我不断得到一个不知道我不知道发生了什么的事情。

这是错误

enter image description here

这是我的控制器

enter image description here

3 个答案:

答案 0 :(得分:1)

如果您在这种情况下访问的实例中没有匹配方法,则会发生这种情况,在这种情况下,如果您查看 mydummy.SetActive(true); mydummy.transform.position = new Vector3(center.x,center.y,center.z); 仅执行show操作} find_item只返回find_item个实例,而不是@post个实例。

只需将@item更改为控制器中的@post

即可

答案 1 :(得分:0)

null中,您设置了find_item,而不是@post,这使得视图无效。

答案 2 :(得分:0)

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

访问show时看到的错误是因为@item实例变量未在控制器中初始化,因此在视图文件show.html.erb中不可用,即默认情况下它是nil并且Rails抱怨那里在nil对象上没有方法标题(因为nil对象没有该方法,@item@post可能具有该方法,具体取决于相应的表是否具有该列)