`
hhhj
  • 浏览: 9095 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

rails 2.2.2 FileStore cache的一个Bug

阅读更多
我在用rails 2.2.2 (ruby 1.8.7) 开发一个小网站的时候,发现用自带的FileStore 缓存模型时不能正常工作。日志一直报cann't create cache file directory 。经过跟踪发现错误是在file_store.rb的read和write方法中,其中在读写数据时,用了 Marshal.dump(value,f)这样的代码来存储数据。经过测试,当f是一个Tempfile实例时,dump方法就会报错。这可能是ruby库的一个Bug.因此我直接用f.write(value.to_yaml) 和 YAML::load(f.read())来代替Marshal.dump和Marshal.load,这样FileStore就工作正常了。
分享到:
评论
1 楼 windcontrail 2009-02-15  
真的非常感谢你,我也和你一样,碰到了同样的问题,

本机环境是Ruby1.8.6和Rails2.2.2,在使用缓存时并没有碰到这种问题,而将应用部署到服务器上(Ruby1.8.7和Rails2.2.2)时就碰到着这种问题,幸亏有你提出了解决方案。

我觉得这不一定是Rails的问题,有可能是Ruby的Bug

相关推荐

Global site tag (gtag.js) - Google Analytics