使用JavaScript循环遍历数据行(Ruby on Rails)

时间:2014-04-11 05:04:45

标签: javascript jquery ruby-on-rails leaflet

我正在使用Leaflet添加标记以进行贴图。以下代码是如何将标记添加到我的地图中。

markers.addLayer(new L.Marker([LAT, LONG]).bindPopup(POPUP).openPopup());

现在,LAT(float),LONG(float)和POPUP(字符串)都是我的数据库中companies表中保存的数据。所以我想循环遍历此表中的每一行,并从每一行中提取这三个属性,添加一个标记并继续下一行。

我已经查了几件事,我认为this将是一个非常好的开始,但我确定如何改变它以满足我的需要。

编辑:值得一提的是,这一切都是在页面加载时完成的,而不是任何点击或任何性质的。

1 个答案:

答案 0 :(得分:0)

你可以通过各种方式做到这一点。最简单的方法是在视图中重复调用该行代码。

#in some_template.html.erb - expects @companies to have been defined in the controller action.
<%= javascript_tag do %>
  (function() {
     <% @companies.each do |company| %>
       markers.addLayer(new L.Marker([<%= company.lat %>, <%= company.long %>]).bindPopup(<%= company.popup %>).openPopup());
     <% end %>
  })();      
<% end %>

您可能需要稍微调整一下格式。