3

私の問題の背景は次のとおりです。

私は Snow Leopard を使用しています RVM をインストールしています (ruby1.9.2 ヘッドのインストールを使用) 私は 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 を文字列に変換できません (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-debuggerを見つけることができません)

だから私は本当にちょっと困惑しています。何か助けはありますか?

4

2 に答える 2

11

プラグインの mapping.rb のクラス Variable に次の関数を追加する必要があります。

def to_str @変数 + ";" 終わり

Array#* は to_html 関数で呼び出され、Ruby 1.9.2 は to_s の代わりに to_str を使用して値を結合します。

于 2010-09-04T19:44:37.573 に答える
1

[OK] を RTFM する必要があります。いくつかの発見:

  • プラグインは、現在廃止されている Google マップ v2 API 用に作成されました
  • プラグインの to_html 関数は、html 変数の init 変数が文字列で結合された変数の配列であるという意味で少しずれています。
于 2010-07-25T10:49:50.520 に答える