2010-03-01 70 views
5

我正嘗試使用YM4R/GM將Google地圖添加到我的頁面。作爲一個正常的提交使用form_tag一切正常,所以我知道我沒有搞砸那部分。Ruby on Rails,form_remote_tag和Google Maps API

但使用form_remote_tag我最終沒有在我的更新div裏面。我使用渲染文本進行了測試,因此正確的方法正在執行,YM4R/GM正在返回Google地圖KML。但地圖沒有顯示。

我的表單標籤:

<% form_remote_tag(:url => {:controller => "home", :action => "search"}, :update => "map_div") do %> 


指定爲形式的行動的搜索方法:

def search 
    location = GeoKit::Geocoders::MultiGeocoder.geocode(params[:address]) 
    @map = GMap.new("map_div") 
    @map.control_init(:large_map => true,:map_type => true) 
    @map.center_zoom_init([location.lat,location.lng],11) 
    render :partial => 'map' 
end 

是否正確放置div來的部分內被更新,然後渲染該部分?

我是在過度複雜還是以錯誤的方式去做?我知道YM4R/GM代碼正在執行,因爲我看到Google的KML輸出。我想知道這個問題是否與XML/KML響應有關? Rails是否將響應解釋爲XML而不是HTML?

回答

0

我正在努力通過這個權利,但我有一種感覺,這是與重定向vs渲染。刷新頁面時,您會看到地圖在部分沒有問題的情況下工作。 「渲染」只是重新創建視圖。無論如何,這是我不擅長解釋這個問題,但有關於這個話題有a few blogs。道歉,如果這不是一個真正的答案。我也在努力,所以我會在我找出一些東西時發佈。

+0

值得看一看這裏太:http://guides.rubyonrails.org/layouts_and_rendering.html#using-render – digitalWestie 2011-01-28 00:53:45