论坛首页 编程语言技术论坛

rails 2.2.2 FileStore cache的一个Bug

浏览 1950 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (4) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-01-15  
我在用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就工作正常了。
   发表时间:2009-02-15  
真的非常感谢你,我也和你一样,碰到了同样的问题,

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

我觉得这不一定是Rails的问题,有可能是Ruby的Bug
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics