新手问题 Rails 缓存使用中出现的问题 touch 如何使用?

mumu · 2015年12月01日 · 最后由 mumu 回复于 2015年12月07日 · 1959 次阅读

问题 3:touch 机制如何使用?

https://ruby-china.org/topics/21488 中讲到的 touch 机制,是不是只针对于 ActiveRecord 的,如果最外层套娃不是 model,该如何使用呢?

问题 2:关于套娃缓存机制

 <% cache @drug_groups.max(&:updated_at) do %>
<%end%>

出现 max 方法不支持一个参数的错误,是什么原因呢 目前的解决方案是: 使用@drug_groups.maximum(:updated_at) 不知这两个方法有什么区别?

问题 1:中文乱码问题 1.在 config/environment/development.rb 下,配置启用缓存

config.action_controller.perform_caching = true 

2.添加 gem 包

gem 'actionpack-page_caching'

3.在资源控制器中添加页面缓存

caches_page :index

程序启动后,打开 index 页,在 public 目录下生成了 html 缓存页面,由于该缓存页面未指定编码导致打开时出现中文乱码 如何在生成缓存文件时指定编码? 目前解决方案是: 在 html 开头写入,用火狐打开就没有乱码了,IE 的话需要右键修改编码为 utf-8 不知是否还有其他的方法?

<meta charset="UTF-8" />

另外,Static page caching for Action Pack (removed from core in Rails 4.0).,现在应该不推荐用这种方式来弄缓存了。

现在推荐用套娃机制吧

#2 楼 @qinfanpeng 恩谢谢,目前处于学习阶段,想尽可能多尝试一些方法

#3 楼 @pathbox 从网上查到一些资料,使用时出现错误如贴子中的图所示,不知是什么原因引起的?

看下 @drug_groups.max(&:updated_at)返回的啥?多半它有错。

#6 楼 @qinfanpeng 谢谢,@drug_groups.maximum(:updated_at) 这个方法可以用

很高兴能帮到你。

& 这个可以不用

#9 楼 @pathbox max 这个方法貌似不接收参数,

需要 登录 后方可回复, 如果你还没有账号请 注册新账号