我使用以下片段缓存:
应用/视图/人/ index.html.erb
<% cache do %>
<p>foobar</p>
<% end %>
该缓存存储在views/localhost:3000/people/936e34304c10cd4b7469d805b7070ac4
我想在after_update
模型中使用Person
回调使该缓存失效,但无法使其正常工作。
应用/模型/ person.rb
class Person < ActiveRecord::Base
after_update :sweep_cache
private
def sweep_cache
ActionController::Base.new.expire_fragment(controller: 'people',
action: 'index')
end
end
此代码导致此错误:
向方法添加include Rails.application.routes.url_helpers
没有帮助。 sweep_cache
方法的正确代码是什么?