2010-01-04 90 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时,它工作正常。