我有個Rails4應用程式安裝軌道4發動機MyEngine
與MyController
caches_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_prepare
和initializer
塊中。
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
。
這更令人困惑!