Tôi đang cố gắng nâng cấp lên đường ray 4 beta 1, nhưng tôi có một chút vấn đề.phương thức undefined `caches_action 'cho ApplicationController: Class
Điều này, ngắn gọn, cách bộ điều khiển ứng dụng của tôi trông như thế nào.
class ApplicationController < ApplicationController
caches_action :method
end
caches_action
được chuyển thành đá quý riêng của nó trong Rails 4, vì vậy kể cả đá quý sẽ khắc phục được sự cố.
gem "actionpack-action_caching", github: "rails/actionpack-action_caching"
Nhưng khi tôi chạy thông số yêu cầu của mình hoặc truy cập ứng dụng trong trình duyệt, tôi nhận được lỗi này.
app/controllers/application_controller.rb:3:in `<class:ApplicationController>': undefined method `caches_action' for ApplicationController:Class (NoMethodError)
Tại sao lại như vậy?
- Rails 4.0.0.beta1
- của Ruby 2.0.0
- RSpec 2.13.1
Chỉ vì tò mò, bạn đã 'yêu cầu' actionpack-action_caching'' trước khi sử dụng 'caches_action'? – mudasobwa
Tôi vừa thử 'gem 'actionpack-action_caching', github: 'rails/actionpack-action_caching', yêu cầu:" actionpack-action_caching "', dẫn đến 'không thể tải tập tin như vậy - actionpack-action_caching (LoadError)' – Oleander
Oooups , lấy làm tiếc. Tôi đã xem xét mã, bạn cần phải 'yêu cầu actionpack/action_caching' thay vì' require 'actionpack-action_caching'' (dấu gạch chéo thay vì trừ.) Vì bộ nhớ đệm không phải là một phần của lõi nữa, bạn cần phải rõ ràng ' require' nó ở trên cùng của mỗi tập tin bạn sử dụng nó. – mudasobwa