Using RoR 4.1.4
I am trying to use the leaflet-rails gem. I followed the steps outlined in the github page, but when I try to load the map, I see
Re
Turns out this is maybe some RoR specific issue.
Many sites recommend to put the
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
line which loads the javascripts, at the END of a file, in order to speed up page display. With the leaflet-rails
gem, this isn't great, and will generate the problem described above. If putting the same line in the <head>
section, the problem goes away...
P.S. I still have problems with the gem though, now I get
Error: No value provided for variable {s}
If I substitute "http://{s}.tile.osm.org/{z}/{x}/{y}.png
" with "http://a.tile.osm.org/{z}/{x}/{y}.png"
it works...don't think it's meant to work that way though...but that's a different issue...
I faced the same issue in rails.
Can't find variable L
in production modeThe following steps did not help.
asset "leaflet"
(Bowerfile)//= require leaflet/dist/leaflet.js
(application.js)*= require leaflet/dist/leaflet.css
(application.css)Rails.application.config.assets.precompile += ['leaflet/dist/leaflet.js', 'leaflet/dist/leaflet.css']
public/assets/...
Am I still missing something?
[solution]
This issue can be resolved by using CDN assets recommended by leaflet at http://leafletjs.com/examples/quick-start/
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.1/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.0.1/dist/leaflet.js"></script>
However, I would prefer to use local cached precompiled assets bundled at my app-server instead of relying on a public CDN, network bandwidths, and a lot more external things.
Don't know if you were able to solve your issue. For me, I had forgotten to run:
rake assets:precompile
before deploying to production.