Ruby on rails 如何使rails 4中的缓存密钥过期
我的应用程序使用Rails 4.0.0。 我有专门的模型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 .
用户\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}*/
结束
更新后,在缓存过期后创建或销毁缓存 缓存表单元素不是一种非常聪明的方法。老实说,这不是表单元素。缓存表单元素不是一个非常聪明的方法。老实说,这不是表单元素。