`
hhhj
  • 浏览: 9266 次
  • 性别: 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

相关推荐

    Rails2.2.2之windows环境搭建

    Rails 2.2.2要求Ruby的一个特定版本,因此请确保下载与该版本兼容的Ruby。访问Ruby官方网站(ruby-lang.org)下载Ruby 1.8.7或更高版本,同时安装Ruby的开发包,这将包含所需的头文件和编译器工具,以便后续安装Gem...

    ruby on rails 2.2.2 参考手册

    Rails 2.2.2是该框架的一个较早版本,尽管如此,它仍然包含了许多核心概念和技术,对于理解Rails的运作机制及其发展历史非常有价值。 本参考手册是学习Rails 2.2.2的重要资源,特别适合初学者和有一定经验的开发者...

    基于Rails2.2.2的ajax

    标题 "基于Rails2.2.2的ajax" 涉及的是使用Rails 2.2.2框架中的AJAX(Asynchronous JavaScript and XML)技术。Rails是一个基于Ruby编程语言的开源Web开发框架,它允许开发者以简洁、高效的方式构建动态网站。在...

    基于Rails2.2.2的自建的CRUD项目视频

    【标题】"基于Rails2.2.2的自建的CRUD项目视频" 在这个项目中,我们将探讨如何使用Ruby on Rails 2.2.2版本构建一个基础的CRUD(创建、读取、更新和删除)应用。Ruby on Rails 是一个流行的开源Web应用程序框架,它...

    rails-2.2.2.zip

    Rails 2.2.2 是一个古老的 Ruby on Rails 框架版本,它在2008年发布,标志着Web开发的一个重要里程碑。Ruby on Rails(简称Rails)是由David Heinemeier Hansson创建的开源Web应用程序框架,它遵循模型-视图-控制器...

    rails 2.2.2 API

    Rails 2.2.2 API 是一个针对 Ruby on Rails 框架的版本 2.2.2 的接口文档,它是开发人员的重要参考资料,用于理解并有效地使用该框架的各项功能。Ruby on Rails(RoR)是由 David Heinemeier Hansson 创建的一个开源...

    应用Rails进行敏捷Web开发中文第三版

    1. **安装与设置**:如何在本地环境中安装Ruby,配置Gemfile来管理依赖,以及初始化一个新的Rails项目。 2. **数据库迁移**:了解如何使用ActiveRecord的迁移工具(Migration)来修改数据库结构,如添加、删除或...

    Rails Cache

    Rails Cache 是 Ruby on Rails 框架中的一个重要特性,它用于提高应用程序的性能,通过缓存数据来避免不必要的数据库查询和其他昂贵的操作。Rails 提供了多种级别的缓存,包括动作缓存、片段缓存、页面缓存以及低...

    will_paginate 2.2.2

    `will_paginate`是Rails框架中非常流行的一个分页插件,版本2.2.2是它的一个历史版本。在本文中,我们将深入探讨`will_paginate`的使用方法、功能特性以及它如何与Rails集成,帮助提升Web应用的性能和用户体验。 一...

    chef-rails, 厨房设置一个可以与 Nginx 和 Rails 一起滚动的Ubuntu服务器.zip

    chef-rails, 厨房设置一个可以与 Nginx 和 Rails 一起滚动的Ubuntu服务器 主厨 rails安装一个准备为 Ruby on Rails 栈准备的Ubuntu服务器:NginxPostgreSQLRedisMemcached带RVM的rubyPhusion乘客独立要求Ubuntu ...

    Ruby-GoOnRails使用Rails生成器来生成一个Golang应用

    `GoOnRails`是专门为Rails开发者设计的一个生成器,它允许在Rails应用中集成Go代码,创建Go API服务。这个工具简化了在Rails项目中使用Go进行后端处理的流程,使开发者可以利用Go的性能优势处理高并发请求,同时保留...

    Agile Web Development with Rails

    为了确保读者能够顺利地跟随书中的教程进行实践,作者Sam Ruby维护了一个wiki页面(<http://pragprog.wikidot.com/changes-to-rails>),其中记录了所有影响本书内容的Rails变更。如果读者正在使用一个比书中所用...

    railsbrain网站的rails2.3文档(bug修复版)

    Railsbrain是一个专注于Rails框架的在线资源平台,而这个“railsbrain网站的rails2.3文档(bug修复版)”显然是一份针对Rails 2.3版本的更新文档,旨在修复用户在浏览和交互过程中遇到的问题。Rails是Ruby编程语言的...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    使用Aptana+Rails开发Rails Web应用(中文)

    例如,要在Rails应用中创建一个新的资源,如博客文章,你需要在models目录下创建一个名为`post.rb`的文件,定义Post类,并设置属性如标题和内容。在controllers目录下创建`posts_controller.rb`,定义控制器方法,如...

    Rails101_by_rails4.0

    Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它遵循模型-视图-控制器(MVC)的架构模式,设计用来快速开发数据库驱动的动态网页。随着Rails版本的更新迭代,此书聚焦于一个特定的版本,帮助...

    关于rails 3.1 cucumber-rails 1.2.0

    首先,Rails 3.1是Ruby on Rails框架的一个版本,它在2011年发布。这个版本引入了一些显著的改进,如Asset Pipeline(资产管道)和CoffeeScript支持。Asset Pipeline允许开发者更有效地管理和优化应用程序的前端资源...

Global site tag (gtag.js) - Google Analytics