`

rails 2.2.2中ym4r 的bug的修补

阅读更多
今天在rails2.2.2中使用ym4r插件时产生如下错误
"undefined method 'relative_url"

上网查了一下,有两种解决方法:
1.修改“vendor/plugins/ym4r_gm/gm_plugin/map.rb”文件,大约35或36行左右,将
a << "script src=\"#{ActionController::AbrastractRequest.relative_url_root}/javascript/ym4r-gm.js\" type=\"text/javascript\"> </script>\n" unless option[:without_js]
中的
#{ActionController::AbstractRequest.relative_url_root}

修改为
#{ActionController::Base.relative_url_root}
,修改过后重启服务器即可。
2.I made a file named "PatchYm4rGM.rb" 在 config/initializer 文件夹中新建文件 PatchYm4rGM.rb ,内容如下:
   class GMap
      def self.header(options = {})
       options[:with_vml] = true unless options.has_key?(:with_vml)
        options[:hl] ||= ''
        options[:local_search] = false unless options.has_key?(:local_search)
        api_key = ApiKey.get(options)
        a = "<script src=\"http://maps.google.com/maps?file=api&amp;v=2.x&amp;key=#{api_key}&amp;hl=#{options[:hl]}\" type=\"text/javascript\"></script>\n"
        a << "<script src=\"#{ActionController::Base.relative_url_root}/javascripts/ym4r-gm.js\" type=\"text/javascript\"></script>\n" unless options[:without_js]
        a << "<style type=\"text/css\">\n v\:* { behavior:url(#default#VML);}\n</style>" if options[:with_vml]
      a << "<script src=\"http://www.google.com/uds/api?file=uds.js&amp;v=1.0\" type=\"text/javascript\"></script>" if options[:local_search]
     a << "<script src=\"http://www.google.com/uds/solutions/localsearch/gmlocalsearch.js\" type=\"text/javascript\"></script>\n" if options[:local_search]
       a << "<style type=\"text/css\">@import url(\"http://www.google.com/uds/css/gsearch.css\");@import url(\"http://www.google.com/uds/solutions/localsearch/gmlocalsearch.css\");}</style>" if options[:local_search]
      a
    end
   end 

这种方法不需要修改插件代码,所以避免了插件更新引发的问题。

详见:http://railsforum.com/viewtopic.php?id=24839
分享到:
评论

相关推荐

    Rails2.2.2之windows环境搭建

    在本教程中,我们将深入探讨如何在Windows操作系统上搭建Rails 2.2.2的开发环境。Rails是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,使得Web开发变得更加简洁高效。本文将...

    基于Rails2.2.2的ajax

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

    ruby on rails 2.2.2 参考手册

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

    rails-2.2.2.zip

    在这个特定的"rails-2.2.2.zip"安装包中,我们可以期待找到构建Rails应用所需的基础组件和库。以下是一些关于Rails 2.2.2的关键知识点: 1. **ActiveRecord**:这是Rails中的ORM(对象关系映射)层,允许开发者用...

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

    在这个项目中,我们将探讨如何使用Ruby on Rails 2.2.2版本构建一个基础的CRUD(创建、读取、更新和删除)应用。Ruby on Rails 是一个流行的开源Web应用程序框架,它遵循模型-视图-控制器(MVC)架构模式,使得开发...

    rails 2.2.2 API

    在 Rails 2.2.2 版本中,开发者可以找到以下关键知识点: 1. **路由(Routing)**:Rails 的路由系统将 HTTP 请求映射到控制器动作,允许你设置自定义 URL 模式来符合应用需求。在 `config/routes.rb` 文件中定义...

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

    在Rails 2.2.2中,ActiveRecord提供了强大的查询API,允许开发者用简洁的代码执行复杂的数据库操作。此外,ActionController处理HTTP请求,并将数据传递给视图进行渲染,而ActionView则提供了模板系统,用于创建动态...

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

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

    will_paginate 2.2.2

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

    Ruby on Rails中文指南

    在Ruby on Rails中文指南中,你将全面学习到如何利用这个强大的框架来构建动态的、数据驱动的Web应用程序。 首先,让我们深入理解Rails的核心概念: 1. **路由(Routes)**:Rails的路由系统是应用程序的导航蓝图...

    rails指南 中文版

    1. **ActiveRecord**:这是Rails框架中的ORM(Object-Relational Mapping)组件,它负责处理数据库操作。通过ActiveRecord,开发者可以使用面向对象的方式来操作数据,而无需编写SQL语句。 2. **ActionController**...

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

    安装过程中,遵循提示进行,确保选择自定义安装并勾选Rails相关的插件,以便在Aptana中获得对Rails的全面支持。 安装完成后,打开Aptana Studio,创建一个新的Rails项目。在“File”菜单中选择“New”然后点击...

    RailsGuides中那个blog程序源码

    RailsGuides中的"blog"程序是一个典型的入门级示例,旨在帮助初学者理解RoR的工作原理和核心概念。 在Rails中,**模型(Model)** 负责处理数据和业务逻辑,通常与数据库交互。在这个"blog"程序中,可能会有一个`...

    Agile Web Development with Rails

    在本书出版时,最新的稳定版本为Rails 2.2.2,所有的代码示例和教程都经过了这个版本的测试验证。Rails的核心开发团队一直在持续改进Rails框架,随着时间的推移,新的发布可能会引入与早期版本不兼容的变化。例如,...

    Rails 中mongrel的安装

    Rails是Ruby on Rails框架的简称,它是一种基于Ruby语言的开源Web开发框架,以其MVC(Model-View-Controller)架构而闻名,旨在简化Web应用的开发过程。在早期的Rails版本中,Mongrel是一个常用的HTTP服务器,用于...

    Rails101_by_rails4.0

    此外,书中还介绍了一些Rails中的高级概念,如Strong Parameters(强参数),它在Rails 4.0版本中引入,用于解决之前版本中的参数篡改问题,从而帮助开发者安全地处理外部提交的数据。 通过一系列的教学内容,包括...

    Ruby On Rails中文教材(PDF)

    Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用程序的开发。Rails由David Heinemeier Hansson于2004年创建,它提倡“约定优于配置...

    在rails中 使用RSpec生产CHM文档

    标题 "在Rails中使用RSpec生产CHM文档" 暗示了这个话题是关于如何在Ruby on Rails(简称Rails)框架中使用RSpec测试工具来创建帮助文档,特别是以CHM(Microsoft Compiled HTML Help)格式。CHM文件是一种常见的...

Global site tag (gtag.js) - Google Analytics