2010-01-04 113 views
0

我使用以下填充在Rails系列中的谷歌地圖上的標記:將大量的模板代碼傳遞給變量?

marker = GMarker.new(coords, :icon => home, :title => "home", :info_window => "Info Text Goes Here") 

我想自定義信息窗口超出文本並試圖大量的信息傳遞到它,但我不知道如何做到這一點,除了做一個很長的煩人的字符串。在HTML/CSS中傳遞大量格式化信息的最佳策略是什麼?某種形式的部分?

回答

0

稀釋以及同一文件夾中的部分,我還不能發表評論,但安德魯的代碼應該在View上工作,但不能在你的控制器中工作。

這一切都取決於你如何構建你的Google地圖標記。如果你在你的控制器中生成它們,你需要創建一個函數來爲你返回文本並把它傳遞給你的GMarker對象。

如果你是通過JavaScript在視圖中創建它們,那麼你要使用部分加載中的信息。

也許更說明問題。

無論如何,很抱歉,對安德魯斯答案的評論混亂了答案空間。 :D

乾杯!

達斯汀

0

你應該能夠做這樣的事,從您的視圖:

marker = GMarker.new(coords, :icon => home, :title => "home", :info_window => render(:partial => 'info_window')) 

如果你有一個名爲_info_window.html.erb

+0

我試過這樣做,但它只呈現了info_window變量,甚至沒有其他的部分? – Kevin 2010-01-05 02:16:25

0

出於某種原因,使用(渲染:局部的)作爲提供給的GMarker參數僅造成部分被呈現。當我將其更改爲render_to_string時,它工作正常。