Ruby on rails 如何使rails 4中的缓存密钥过期

Ruby on rails 如何使rails 4中的缓存密钥过期,ruby-on-rails,ruby,caching,Ruby On Rails,Ruby,Caching,我的应用程序使用Rails 4.0.0。 我有专门的模型用户\u帖子: class UsersPost < ActiveRecord::Base attr_accessible :post_id, :user_id, :example belongs_to :post, touch: true class Post < ActiveRecord::Base has_many :users_posts 这是用户发布视图: -cache users_post do .

我的应用程序使用Rails 4.0.0。 我有专门的模型
用户\u帖子

class UsersPost < ActiveRecord::Base
  attr_accessible :post_id, :user_id, :example
  belongs_to :post, touch: true
class Post < ActiveRecord::Base
  has_many :users_posts
这是用户发布视图:

-cache users_post do
  .box.col2
    p.center
      =status_post_vk(users_post)
      =status_post_fb(users_post) 
    p = check_box_tag "posts_ids[]", users_post.id
    p = best_in_place users_post.post, :text, type: :textarea
    p = raw users_post.post_url_small.map{|url| image_tag 'http://bla.com/'+url}.join()
    p 
      = link_to 'Show', users_post
      = link_to 'Edit', edit_users_post_path(users_post)
      = link_to 'Destroy', users_post, data: { confirm: 'Text' }, :method => :delete

如何使缓存密钥过期我更改post的文本(更新数据库中的属性文本)
best\u in\u place users\u post.post,:text,type::textarea

您可以通过添加
gem'dalli'
来完成此操作。 查看:

-cache ["#{current_user.id}",users_post], skip_digest: true do
  .box.col2
    p.center
      =status_post_vk(users_post)
      =status_post_fb(users_post) 
    p = check_box_tag "posts_ids[]", users_post.id
    p = best_in_place users_post.post, :text, type: :textarea
    p = raw users_post.post_url_small.map{|url| image_tag 'http://bla_bla.com/'+url}.join()
    p 
      = link_to 'Show', users_post
      = link_to 'Edit', edit_users_post_path(users_post)
      = link_to 'Destroy', users_post, data: { confirm: 'Text' }, :method => :delete
在控制器中按如下方式添加\u片段:

class PostsController < ApplicationController
  after_filter  :cache_clear, :only => [:create, :update, :destroy]

  def cache_clear
    expire_fragment /.*#{current_user.id}.*/
  end
class PostsController[:create,:update,:destroy]
def缓存_清除
过期_fragment/*#{current_user.id}*/
结束

更新后,在缓存过期后创建或销毁缓存

您可以通过添加
gem'dalli'
来实现这一点。 查看:

-cache ["#{current_user.id}",users_post], skip_digest: true do
  .box.col2
    p.center
      =status_post_vk(users_post)
      =status_post_fb(users_post) 
    p = check_box_tag "posts_ids[]", users_post.id
    p = best_in_place users_post.post, :text, type: :textarea
    p = raw users_post.post_url_small.map{|url| image_tag 'http://bla_bla.com/'+url}.join()
    p 
      = link_to 'Show', users_post
      = link_to 'Edit', edit_users_post_path(users_post)
      = link_to 'Destroy', users_post, data: { confirm: 'Text' }, :method => :delete
在控制器中按如下方式添加\u片段:

class PostsController < ApplicationController
  after_filter  :cache_clear, :only => [:create, :update, :destroy]

  def cache_clear
    expire_fragment /.*#{current_user.id}.*/
  end
class PostsController[:create,:update,:destroy]
def缓存_清除
过期_fragment/*#{current_user.id}*/
结束

更新后,在缓存过期后创建或销毁缓存

缓存表单元素不是一种非常聪明的方法。老实说,这不是表单元素。缓存表单元素不是一个非常聪明的方法。老实说,这不是表单元素。