[英]Setting up Leaflet with Ruby on Rails
我正在嘗試在我的rails應用程序中正確設置傳單,我遇到了一些麻煩。 我按照這里列出的步驟Github Leaflet Repo 。 我已經在頂部做了一些微不足道的事情,現在正在Headers標題下。
我正在使用OpenStreetMaps,所以我的leaflet.rb文件看起來像這樣。 (我必須自己創建這個文件,因為它還不存在)
Leaflet.tile_layer = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'
Leaflet.attribution = '© <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
現在,我正在嘗試插入傳單地圖的視圖當前看起來像這樣。
<% 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>
當我啟動我的rails服務器時,div中只有空格,即沒有地圖。 在我的css文件中設置div的高度為500px,如果這有任何區別,我認為它沒有。
我在這做錯了什么?
我相信你現在已經知道了......但萬一其他人被卡住了。 單張-Rails文檔遺漏了這是如何發生的細節,但地圖助手是在視圖中使用。 它必須在<%= %>
標簽中才能顯示; 上面的問題是erb標簽缺少=
它應該是這樣的,
<div id="map">
<%=
map(:center => {
:latlng => [51.52238797921441, -0.08366235665359283],
:zoom => 18
})
%>
</div>
作為旁注, =
erb標記中的=
告訴解釋器以下代碼是一個表達式,意味着作為字符串返回到文檔。 沒有=
像這個<% %>
將評估代碼,但不會嘗試返回它。 有關更多內容,請參閱此博客文章。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.