私有方法“prepend”调用 Refinery::Admin::PagesController:Class (NoMethodError)

private method `prepend' called for Refinery::Admin::PagesController:Class (NoMethodError)

我遇到的问题是 heroku 而不是 运行 我的应用程序。

我正在使用 refinerycms 并尝试根据 this tutorial.

将我的导航菜单放在页脚中

我成功将所有内容推送到 heroku。

heroku run rake db:migrate 工作正常。

当我尝试在 heroku 上打开应用程序时,我在日志中收到此错误:

/app/app/decorators/controllers/refinery/pages_controller.rb:1:in `<top (required)>': private method `prepend' called for Refinery::Admin::PagesController:Class (NoMethodError)

这是导致错误的文件: pages_controller_decorator.rb

Refinery::Admin::PagesController.prepend(
  Module.new do
    def permitted_page_params
      super << :show_in_footer
    end
  end
)

显然 heroku 的前置方法有问题,但我不确定没有它如何使我的页脚操作起作用。

可以使用 send 在 ruby 中调用私有方法。我不确定,这是否打算特别用于此处,但只需更改

Refinery::Admin::PagesController.prepend(MODULE_CODE)

Refinery::Admin::PagesController.send :prepend, MODULE_CODE