Ym4r не может преобразовать в строку для rails3 - PullRequest
3 голосов
/ 24 июля 2010

Вот некоторые предпосылки моей проблемы:

Я на снежном барсе У меня установлен RVM (используется установка с головкой ruby1.9.2) Я использую рельсы3 Я установил ym4r, используя http://github.com/guilleiguaran/ym4r_gm (и следовал инструкциям)

В любом случае, я добавил их в свой контроллер:

@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)) %>  

ну на самом деле я использую хамл (это имеет значение?)

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 в строку (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))

, что совершенно странно. Я не могу перепроверить с отладчиком (это еще одна ошибка ... мои рельсы не могут найти отладчик ruby)

так что я действительно немного озадачен. Любая помощь?

Ответы [ 2 ]

11 голосов
/ 04 сентября 2010

Следующую функцию необходимо добавить к классу Variable в mapping.rb плагина.

def to_str @variable + ";"end

Array # * вызывается в функции to_html, а Ruby 1.9.2 использует to_str вместо to_s для объединения значений.

1 голос
/ 25 июля 2010

Хорошо, должен был RTFM. Некоторые открытия:

  • плагин был создан для устаревшего API Google Maps v2
  • Функция плагина to_html немного отличается в том смысле, что переменные init для переменных html являются массивом переменных, которые соединяются строкой.
...