使用Ruby on Rails设置Leaflet

Sca*_*olo 3 ruby-on-rails leaflet

我试图在我的Rails应用程序中正确设置传单设置,但遇到了一些麻烦。我正在按照Github Leaflet Repo概述的步骤进行操作。我在顶部做了一些琐碎的事情,现在在Headers标题下。

我正在使用OpenStreetMaps,所以我的leaflet.rb文件看起来像这样。(我必须自己创建此文件,因为它尚不存在)

Leaflet.tile_layer = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'
Leaflet.attribution = '&copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>'
Leaflet.max_zoom = 18
Run Code Online (Sandbox Code Playgroud)

现在,我试图在其中插入传单地图的视图如下所示。

<% provide(:title, 'Map') %>
<h1>Map</h1>
<div id="map"><%

    map(:center => {
    :latlng => [51.52238797921441, -0.08366235665359283],
    :zoom => 18
    })

%>
</div>
<p>Find me in app/views/dynamic_pages/map.html.erb</p>
Run Code Online (Sandbox Code Playgroud)

当我启动Rails服务器时,div中只有空白空间,即没有地图。如果这有任何区别,则在我的css文件中将div设置为500px的高度,我不认为这样做。

我在这里做错了什么?

Tsi*_*ege 6

我确定您现在已经知道了...但是万一其他人被卡住了。 单张-Rails文档叶出细节上如何出现这种情况,但地图帮手在视图中使用。它必须在<%= %>标签中才能显示;上面的问题是erb标签丢失了,=它应该看起来像这样,

<div id="map">
  <%=
    map(:center => {
      :latlng => [51.52238797921441, -0.08366235665359283],
      :zoom => 18
    })
  %>
</div>
Run Code Online (Sandbox Code Playgroud)

附带说明一下,=在erb标签中告诉解释器以下代码是一个表达式,该表达式应作为字符串返回给文档。没有=这样的错误<% %>将评估代码,但不会尝试返回它。欲了解更多看到这个博客帖子为多。