我想升级到Rails 4 beta 1,但遇到了一些问题。
简而言之,这是我的应用控制器的样子。
class ApplicationController < ApplicationController
caches_action :method
end
caches_action
在Rails 4中被移动到其自己的宝石中,因此包含这个宝石应该可以解决问题。
gem "actionpack-action_caching", github: "rails/actionpack-action_caching"
但是当我运行我的请求规范或在浏览器中访问应用程序时,会出现此错误。
app/controllers/application_controller.rb:3:in `<class:ApplicationController>': undefined method `caches_action' for ApplicationController:Class (NoMethodError)
为什么会这样呢?
- Rails 4.0.0.beta1
- Ruby 2.0.0
- Rspec 2.13.1
require 'actionpack-action_caching'
了呢? - Aleksei Matiushkingem 'actionpack-action_caching', github: 'rails/actionpack-action_caching', require: "actionpack-action_caching"
,结果出现了cannot load such file -- actionpack-action_caching (LoadError)
的错误。 - Linus Oleanderrequire actionpack/action_caching
而不是require 'actionpack-action_caching'
(斜杠而不是减号)。由于缓存不再是核心的一部分,所以你需要在每个使用它的文件顶部显式地require
它。 - Aleksei Matiushkinrequire "actionpack/action_caching"
添加到application.rb
中即可。请在下方回答并我会接受它。谢谢。 - Linus Oleander