Неспособный к expire_action на Рельсах

tl; доктор

Мой expire_index метод ниже становится названным, я вижу , помещает в регистрациях. Однако то, когда я обновляю страницу, является несвежей версией.

note: I am using rails_admin for updating the models. But have also noticed the same behavior using rails console directly.

Спасибо за вашу помощь. Очень ценивший!

детали

app/controllers/posts_controller.rb

class PostsController < ApplicationController
  caches_action :index
  cache_sweeper :post_sweeper

  def index
    @posts = Post.published
  end

  def show
    @post = Post.find(params[:id])
   end
end

app/sweepers/post_sweeper.rb

class PostSweeper < ActionController::Caching::Sweeper
  observe Post

  def after_save(post)
    puts "======================"
    puts "      AFTER SAVE      "
    puts "======================"
    expire_index
  end

  private
  def expire_index
    puts "======================"
    puts "   EXPIRING INDEX     "
    puts "======================"
    expire_action(:controller => '/posts', :action => 'index')
  end
end

config/environments/production.rb

config.action_controller.perform_caching = true
config.cache_store = :dalli_store # using memcachier on heroku
2
nl ja de
@cthulhu это doesn' t работают также. Я пытался использовать '/' из-за github.com/rails/rails/issues/3546.
добавлено автор Matthew Boston, источник
Попробуйте без '/' в параметре контроллера: expire_action (: диспетчер => ' posts': действие => ' index')
добавлено автор cthulhu, источник

1 ответы

Заставил его работать. Вот то, что это взяло:

def expire_index
  cache_key = "views/#{request.host_with_port}/posts"
  Rails.cache.delete(cache_key)
end

More details on this gist -> https://gist.github.com/4400728

3
добавлено
pro.ruby
pro.ruby
1 181 участник(ов)

Язык программирования Ruby Additional docs: https://rubyreferences.github.io/rubyref/ Invite: https://telegram.me/joinchat/Be4rsT2NuB3CyJaF26j1kA Кто хочет компилировать: @crystal_ru (его синтаксис основан на Ruby) Участник @proDOT

Ruby, Rails, Hanami | dry-rb
Ruby, Rails, Hanami | dry-rb
1 180 участник(ов)

https://telegram.me/rubyjob - Ruby Job По вопросам - @eugene_shved

Ruby School .us
Ruby School .us
1 045 участник(ов)

Чат-болталка для учеников руби-школы и не только. Правила: https://telegra.ph/Pravila-chata-Rubi-shkoly-03-13

Random Ruby Chat
Random Ruby Chat
589 участник(ов)

Правила публикации вакансий: https://t.me/codenamecrud/60865

Rubyata
Rubyata
333 участник(ов)

Коммюнити Ruby и Ruby On Rails Флуд не приветствуются. Вакансии можно публиковать только и ТОЛЬКО по пятницам с хештегом #вакансия.

Ruby Talks
Ruby Talks
236 участник(ов)

Национальная Флеймотека

RubyRush
RubyRush
189 участник(ов)

rubyrush.ru программирование для самых новичков

Rails Chat
Rails Chat
87 участник(ов)

You are welcome to discuss Ruby On Rails development process and other stuff