Я пытаюсь перейти на rails 4 beta 1, но у меня есть небольшая проблема.undefined method `caches_action 'для ApplicationController: Class
Это, короче говоря, как выглядит мой контроллер приложений.
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
- рубин 2.0.0
- Rspec 2.13.1
Просто из любопытства, вы «требовали» actionpack-action_caching'' перед использованием 'caches_action'? – mudasobwa
Я просто попробовал 'gem 'actionpack-action_caching', github: 'rails/actionpack-action_caching', требует:« actionpack-action_caching »', в результате чего «невозможно загрузить такой файл - actionpack-action_caching (LoadError)» – Oleander
Oooups , Прости. Я взглянул на код, вам нужно «потребовать actionpack/action_caching», а не «require» actionpack-action_caching'' (косая черта вместо минуса.) Поскольку кеширование больше не является частью ядра, вам нужно явно указать ' require' в верхнем строчке каждого файла, в котором вы его используете. – mudasobwa