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就工作正常了。

你可能感兴趣的:(应用服务器,cache,F#,Ruby,Rails)