Lin*_*der 5 ruby ruby-on-rails ruby-2.0 ruby-on-rails-4
我正在尝试升级到rails 4 beta 1,但我有点问题.
简而言之,这就是我的应用程序控制器的样子.
class ApplicationController < ApplicationController
caches_action :method
end
Run Code Online (Sandbox Code Playgroud)
caches_action 在Rails 4中移出它自己的宝石,所以包括gem应该解决问题.
gem "actionpack-action_caching", github: "rails/actionpack-action_caching"
Run Code Online (Sandbox Code Playgroud)
但是,当我运行我的请求规范或在浏览器中访问应用程序时,我收到此错误.
app/controllers/application_controller.rb:3:in `<class:ApplicationController>': undefined method `caches_action' for ApplicationController:Class (NoMethodError)
Run Code Online (Sandbox Code Playgroud)
这是为什么?
Ale*_*kin 12
由于缓存不再是核心的一部分,因此您需要在使用它的每个文件的顶部明确要求它:
require 'actionpack/action_caching'
Run Code Online (Sandbox Code Playgroud)
问题出在 Rails 4 中,他们将缓存部分提取到单独的 gem 中
如果您收到操作缓存错误,那么您需要添加以下 gem
gem 'actionpack-action_caching'
Run Code Online (Sandbox Code Playgroud)
对于页面缓存必须添加
gem 'actionpack-page_caching'
Run Code Online (Sandbox Code Playgroud)
我也玩了一下,然后我发现,没有添加宝石来做同样的事情。
希望这会起作用。谢谢。
| 归档时间: |
|
| 查看次数: |
3623 次 |
| 最近记录: |