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

时间:2011-12-12 16:11:31

标签: ruby-on-rails ruby

我试图点击导航中的链接,但会显示错误消息。

  

ViewerController中的NoMethodError#show

错误指向以下路径:

  

/Users/ianmcdonald/Sites/beatsbymakii/app/controllers/viewer_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

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

1 个答案:

答案 0 :(得分:0)

检查@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

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