0

我有個Rails4應用程式安裝軌道4發動機MyEngineMyControllercaches_action未定義用於控制器導軌發動機

我已經在控制器中定義多個操作用於緩存如下控制器,

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 

我也包括創業板actionpack-action_caching版本1.0.0我gemspec

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

當餘噸RY打任何路由指向MyController我獲得以下錯誤:

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

我使用的開發環境,所以我也改變了配置環境,使緩存:

config.action_controller.perform_caching = true 

我已經嘗試改變一堆東西,如將此塊添加到engine.rb,to_prepareinitializer塊中。

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

這更令人困惑!

回答

0

我剛升級到最新的1.1.1版本的actionpack-action_caching,它解決了這個問題。

感謝Andrew White回覆了我在Github上提出的問題。