Admin :: DashboardController#index中的NoMethodError

时间:2018-10-31 16:25:35

标签: ruby-on-rails ruby ruby-on-rails-4

我是Rails的新手,正在使用活动管理员进行工作,每当我打开活动管理仪表板时都会收到此错误

NoMethodError in Admin::DashboardController#index
undefined method `asideSection' for #<Admin::DashboardController:0x00007fc544017d70>

这是我的application_conrtoller.rb

class ApplicationController < ActionController::Base
    before_action :asideSection
    def hhome

    end

    def getAsideSection
        @asideSections = Page.all
    end
end

请问如何解决。

1 个答案:

答案 0 :(得分:2)

before_action :asideSection尝试调用名为asideSection的方法。

此方法不存在。

但是,您已经定义了一个名为getAsideSection的方法。我想这就是您想要的名字。

因此,您可以将其更改为:before_action :getAsideSection,或将方法重命名为asideSection

这是我的写法,也遵循ruby style guide convention对变量和方法名使用snake_case的情况:

class ApplicationController < ActionController::Base
  before_action :get_aside_sections

  def home
    # ...
  end

  private

  def get_aside_sections
    @aside_sections = Page.all
  end
end