Mic*_*man 0 ruby memcached caching ruby-on-rails fragment-caching
当我有2个视图片段缓存相同的查询但是以不同方式显示它们时,只有一个片段,它们都以相同的方式显示它们.有没有办法解决?例如...
#views/posts/list
- cache(@posts) do
- for p in @posts
= p.title
#views/posts/list_with_images
- cache(@posts) do
- for p in @posts
= p.title
= p.content
= image_tag(p.image_url)
#controllers/posts_controller
def list
...
@posts = Post.all
end
def list_with_images
...
@posts = Post.all
end
Run Code Online (Sandbox Code Playgroud)
您必须使用唯一的缓存键.如果你简单地传入一个对象,它会调用它上面的cache_key方法来确定密钥.如果传入一个对象数组,cache将通过连接数组所有元素的缓存键来生成一个键.您可以使用它来解决您的问题:
#views/posts/list
- cache([:list, @posts]) do
- for p in @posts
= p.title
#views/posts/list_with_images
- cache([:list_with_images, @posts]) do
- for p in @posts
= p.title
= p.content
= image_tag(p.image_url)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1515 次 |
| 最近记录: |