CACHES_ACTION在Rails发动机中的控制器不确定



我有一个rails4应用程序安装的导轨4引擎MyEngine带有控制器MyController

我已经在控制器中定义了多个操作,用于缓存,如下所示,

module MyEngine
   require 'actionpack/action_caching'
   class MyController < ApplicationController #inherits from application controller of app
       [:index, :show].each do |action|
           caches_action action
       end
   end
end

我还将GEM actionpack-action_caching版本1.0.0包括在我的Gemspec

spec.add_dependency "actionpack-action_caching", "1.0.0"

当我尝试按任何指向MyController的路线时,我会收到以下错误:

ActionController::RoutingError - undefined method `caches_action' for MyEngine::MyController:Class:

我正在使用开发环境,因此我还更改了环境的配置以启用缓存:

config.action_controller.perform_caching = true

我已经尝试更改一堆事情,例如将此块添加到to_prepareinitializer块中的engine.rb

ActiveSupport.on_load :action_controller do
    require 'action_controller/action_caching'
end

我还尝试过在engine.rb中设置config.action_caching = true

我敢肯定我缺少一些非常基本的东西,只是找不到什么!

edit1

也尝试在应用程序中添加caches_action以进行操作。它引发了相同的错误。

要调试我在gem

中添加了一些打印语句

在此行require 'action_controller/action_caching'上,它在服务器启动时打印true

那更令人困惑!

我刚刚升级到最新的1.1.1版本的ActionPack-Action_caching,它解决了问题。

感谢安德鲁·怀特(Andrew White)对我在github上提出的问题做出了回应。

相关内容

  • 没有找到相关文章

最新更新