微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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来连接值.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐