私有方法`prepend'调用Refinery :: Admin :: PagesController:Class(NoMethodError)

时间:2015-10-22 16:27:34

标签: ruby-on-rails ruby heroku refinerycms

我的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在使用prepend方法时遇到了问题,但我不确定如何在没有它的情况下让我的页脚操作正常工作。

1 个答案:

答案 0 :(得分:1)

可以使用send在ruby中调用私有方法。我不确定,如果打算特别在这里使用,只需更改

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

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