ruby – Ym4r无法转换为rails3的字符串

这是我的问题的一些背景:

我在SNow Leopard上
我安装了RVM(使用ruby1.9.2-head安装)
我正在使用rails3
我使用这个http://github.com/guilleiguaran/ym4r_gm安装了ym4r(并按照教程)

无论如何,我将这些添加到我的控制器:

@map = GMap.new("map_div")
@map.control_init(:large_map => true,:map_type => true)
@map.center_zoom_init([75.5,-42.56],4)
@map.overlay_init(GMarker.new([75.6,-42.467],:title => "Hello",:info_window => "Info! Info!"))

那么这些对我看来:

Test <%= raw(GMap.header) %>  <%= raw(@map.to_html) %>  <%= raw(@map.div(:width => 600,:height => 400)) %>

实际上我正在使用haml(这有关系吗?)

Test
= raw(GMap.header)
- unless @map.blank?
  = raw(@map.to_html)
#map{:style => "width: 600px; height: 400px"}

问题是我不断得到一个

显示/Users/eumir/rails_apps/evo-lux/app/views/layouts/_map.html.haml,其中第11行引发:

不能将Ym4r :: GmPlugin :: Variable转换为String(Ym4r :: GmPlugin :: Variable#to_str给出Ym4r :: GmPlugin :: Variable)

提取的来源(第11行):

9:测试
10:= raw(GMap.header)
11:= raw(@ map.to_html)
12:= raw(@ map.div(:width => 600,:height => 400))

这很奇怪.我不能用调试器仔细检查(这是另一个错误…我的rails无法找到ruby-debugger)

所以我真的有点难过.有帮助吗?

解决方法

需要将以下函数添加插件的mapping.rb中的类Variable中.

def to_str
   @variable“;”
结束

在#_html函数调用Array#*,而Ruby 1.9.2使用to_str而不是to_s来连接值.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...