将大量模板代码传递给变量?

时间:2010-01-04 08:20:09

标签: ruby-on-rails google-maps

我正在使用以下内容在Rails中的Google地图上填充一系列标记:

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

我正在尝试在文本之外自定义信息窗口,并试图将大量信息传递给它,但我不确定如何做到这一点,除了制作一个非常烦人的字符串。在HTML / CSS中传递大量格式化信息的最佳策略是什么?某种偏见?

3 个答案:

答案 0 :(得分:0)

你应该可以从你的观点做这样的事情:

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

您在名为_info_window.html.erb

的同一文件夹中有部分内容

答案 1 :(得分:0)

啊,我还不能发表评论,但安德鲁的代码应该适用于View,但不适用于你的控制器。

这完全取决于您构建Google地图标记的方式。如果要在控制器中生成它们,则需要创建一个函数,该函数将为您返回文本并将其传递给GM​​arker对象。

如果您是在视图中通过Javascript创建它们,那么您将需要使用partial来加载信息。

或许可以进一步描述问题。

无论如何,抱歉通过对安德鲁斯答案的评论来填补答案空间。 :D

干杯!

达斯汀

答案 2 :(得分:0)

出于某种原因,使用(render:partial)作为提供给Gmarker的参数仅导致部分被渲染。当我将它更改为render_to_string时,它可以工作。