Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 动作控制器:捕获异常[ViewerController中的NoMethodError#show]_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 动作控制器:捕获异常[ViewerController中的NoMethodError#show]

Ruby on rails 动作控制器:捕获异常[ViewerController中的NoMethodError#show],ruby-on-rails,ruby,Ruby On Rails,Ruby,我试图单击导航中的链接,但出现了一条错误消息 ViewerController中的命名错误#显示 错误指向以下路径: /Users/ianmcdonald/Sites/beatsbymakii/app/controllers/viewer\u controller.rb:5:in `秀 这是我为该方法定义的代码 class ViewerController < ApplicationController def show @page = Page.find_by_name

我试图单击导航中的链接,但出现了一条错误消息

ViewerController中的命名错误#显示

错误指向以下路径:

/Users/ianmcdonald/Sites/beatsbymakii/app/controllers/viewer\u controller.rb:5:in `秀

这是我为该方法定义的代码

class ViewerController < ApplicationController
    def show

    @page = Page.find_by_name(params[:name])
    @subpages = @page.subpages
    @pagetitle = @page.title
    login_required if @page.admin?
    end
end
class ViewerController

请帮助我,因为我不知道下一步该做什么。

通过如下方式将@page输出到控制台,检查@page是否返回为
nil

  def show
    @page = Page.find_by_name(params[:name])
    p "@pageeeeeeeee"
    puts @page.inspect
    @subpages = @page.subpages
    @pagetitle = @page.title
    login_required if @page.admin?
  end

我几乎可以肯定这种情况会发生,因为数据库中可能没有具有特定名称的页面。

通过如下方式将@page输出到控制台,检查@page是否返回为
nil

  def show
    @page = Page.find_by_name(params[:name])
    p "@pageeeeeeeee"
    puts @page.inspect
    @subpages = @page.subpages
    @pagetitle = @page.title
    login_required if @page.admin?
  end

我几乎可以肯定这种情况会发生,因为数据库中可能没有具有特定名称的页面。

是否定义了页面#子页面?是否定义了@page nil?page#子页面?@page nil不是吗?同样的消息仍然显示在你给我尝试的代码中?@IanMcDonald..这是一个检查@page是否为nil的代码..你必须在启动应用程序服务器的终端窗口中进行检查(通过使用命令
rails s
ruby script/server
)。在那里,您可能会看到
“@pageeeee”
,并且在该值下,
@page
变量的值……很可能是
nil
。我用代码编辑了我的帖子,以检查@page是否存在,如果为nil,则执行其他操作相同的消息仍然显示在您给我的代码中,以供尝试?@IanMcDonald..这是一个检查@page是否为nil的代码..您必须在启动应用服务器的终端窗口中进行检查(通过使用命令
rails s
ruby script/server
)。在那里你可能会看到
“@pageeeee”
,并且在该命令下,
@page
变量的值……很可能是
nil
。我用代码编辑了我的帖子,以检查@page是否存在,如果为nil,则执行其他操作