`

rails2.3.2 在windows下render :file的一个bug

    博客分类:
  • Ruby
阅读更多

在windows上render :file时使用绝对地址的时候,会出现invalid argument的错误,查看源码,发现错误在于rails对系统分隔符的判断有问题,要解决这个问题,修改以下两个文件:

1、ruby\lib\ruby\gems\1.8\gems\actionpack-2.3.2\lib\action_view\paths.rb,将其中的

 

 

return Template.new(original_template_path, original_template_path =~ /\A\// ? "" : ".") if File.file?(original_template_path)

替换为

 return Template.new(original_template_path, original_template_path =~ /\A(\/|[a-zA-Z]:)/ ? "" : ".") if File.file?(original_template_path)

 

 

 

2、 ruby\lib\ruby\gems\1.8\gems\actionpack-2.3.2\lib\action_view\template.rb,将

source 方法替换为

 

 

    def source

      if filename.match(/^\//)

        File.read(filename[1, filename.length])

      else

        File.read(filename)

      end

    end

 

分享到:
评论
1 楼 wentian914 2010-01-22  
这正是我要的..谢谢了.这个问题都给你找到了.牛

相关推荐

    rails 2.3.2离线安装rails 2.3.2离线安装

    rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...

    rails2.3.2gem本地安装包及使用说明

    Rails 2.3.2 是一个古老的 Ruby on Rails 框架版本,它在 Ruby 社区中曾经广泛使用。Gem 是 Ruby 的包管理器,用于安装和管理各种库和框架,包括 Rails。如果你无法通过网络升级或安装 Rails,可以采用本地安装包的...

    rails2.3.2 ExceptionNotifier 配置

    标题 "rails2.3.2 ExceptionNotifier 配置" 指的是在Rails 2.3.2版本中,如何设置和使用ExceptionNotifier插件。ExceptionNotifier是Rails的一个非常有用的gem,它允许开发者在应用程序中捕获并通知异常情况,如错误...

    rails2.3.2

    标题 "rails2.3.2" 指的是 Ruby on Rails 框架的一个特定版本,即 2.3.2。Ruby on Rails(通常简称为 Rails)是一个基于 Ruby 语言的开源 Web 应用程序框架,它遵循 Model-View-Controller (MVC) 设计模式,用于构建...

    Rails的精简版本Rails::API.zip

    Rails::API 是 Rails 的精简版本,针对不需要使用完整 Rails 功能的开发者。 Rails::API 移除了 ActionView 和其他一些渲染功能,不关心Web前端的开发者可更容易、快速地开发应用程序,因此运行速度比正常的 Rails ...

    Rails上的API:使用Rails构建REST APIAPIs on Rails: Building REST APIs with Rails

    在本篇内容中,我们将深入探讨如何利用Ruby on Rails(简称Rails)这一强大的Web应用程序框架来构建可伸缩且易于维护的RESTful API。Rails以其简洁优雅的语法、高效的开发速度以及良好的社区支持而闻名,这使得它...

    Rails中应用Ext.tree:以中国的省市地区三级联动选择为例

    当用户选择一个节点时,TreePanel会触发事件,通过Ajax请求获取下一级别的数据,并更新Tree。 最后,文章可能还会讨论一些优化和扩展点,比如使用缓存来提高性能,或者添加搜索和过滤功能,使得用户能够更方便地...

    turbolinks_render:在Rails控制器中通过Turbolink支持`render`

    安装将此行添加到您的应用程序的Gemfile中: gem 'turbolinks_render' 然后执行: $ bundle用法默认情况下,如果满足以下条件,则render将由Turbolinks处理: 这是一个ajax请求这不是get请求它生成一个html响应( ...

    Ruby+on+Rails快速Web应用开发实战.pdf

    - **Rails的版本迭代**:文档中提到的v1.0.0是Rails早期的一个版本,而Rails 2.3.2和Rails 2.5是后续更迭的版本。 - **Rails的主要特性**:Rails采用了约定优于配置(Convention over Configuration)的设计理念,这...

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

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

    Rails2.2.2之windows环境搭建

    在Windows上搭建Rails 2.2.2开发环境需要处理一些额外的依赖问题,但遵循上述步骤,应该能成功创建并运行一个简单的Rails应用。同时,别忘了关注博文链接(https://caerun.iteye.com/blog/717015)中可能提供的详细...

    better_assets:Better_assets 是一个 Rails 2.3.2 插件,它增强了一些资产标签助手,使您的项目变得更加强大

    Better Assets 是 Rails 2.3.2 AssetTagHelper 的一个monkeypatch,用于启用一些附加功能。 关键点是: 基于时间的缓存资产文件到期,这主要用于... 远程资产的缓存和组合 最后,您可以使用传递给javascript_...

    rails有用的命令

    在Ruby on Rails框架中,命令行工具是开发者日常工作中不可或缺的一部分。Rails命令允许我们快速地构建应用程序、管理数据库、生成代码以及执行各种自动化任务。以下是一些关键的Rails命令及其详细解释: 1. **创建...

    bootstrap2.3.2.zip

    "bootstrap2.3.2.zip"是一个包含Bootstrap 2.3.2版本的压缩包,该版本发布于2013年,是Bootstrap早期的一个稳定版本。 Bootstrap 2.3.2主要特点包括: 1. **响应式布局**:Bootstrap的核心特性之一就是其响应式...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    - **步骤**:通过命令行使用`rails new project_name`来初始化一个新的Rails项目。 - **结构**:新项目将包含默认的目录结构,如`app`、`config`、`db`等,分别用于存放应用程序代码、配置文件、数据库迁移脚本等。 ...

Global site tag (gtag.js) - Google Analytics