Javascript RubyonRails:传单rails未加载
使用RoR 4.1.4 我正试着用这个。我遵循github页面中概述的步骤,但是当我尝试加载地图时,我看到Javascript RubyonRails:传单rails未加载,javascript,ruby-on-rails,gem,leaflet,sprockets,Javascript,Ruby On Rails,Gem,Leaflet,Sprockets,使用RoR 4.1.4 我正试着用这个。我遵循github页面中概述的步骤,但是当我尝试加载地图时,我看到 ReferenceError: L is not defined 在浏览器控制台中。这显然意味着gem中的helper正在被加载和执行,但它找不到spoolet.js文件 但是,页面的标题部分显示正在引用/assets/ployate.js,它实际上就在那里 当我查看生成的代码时: <div id="map"></div> <script&g
ReferenceError: L is not defined
在浏览器控制台中。这显然意味着gem中的helper正在被加载和执行,但它找不到spoolet.js
文件
但是,页面的标题部分显示正在引用/assets/ployate.js
,它实际上就在那里
当我查看生成的代码时:
<div id="map"></div>
<script>
var map = L.map('map')
map.setView([-54.0, 6.08], 16)
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors',
maxZoom: 18,
subdomains: '',
}).addTo(map)
</script>
</div>
<script src="/assets/jquery.js?body=1" data-turbolinks-track="true"></script>
<!-- all the other scripts loaded -->
<script src="/assets/exif.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/leaflet.js?body=1" data-turbolinks-track="true"></script>
<!-- some more scripts -->
事实证明,这可能是一些RoR特定的问题 许多网站建议将
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
如果我用“
http://a.tile.osm.org/{z} /{x}/{y}.png“
它是有效的……但不要认为它是为了这样工作……但这是另一个问题……我在rails中遇到了同样的问题
- 开发模式下的传单工程(鲍尔管理)
在生产模式下找不到变量L
(Bowerfile)资产“传单”
(application.js)/=需要传单/dist/floate.js
(application.css)*=需要传单/dist/传单.css
Rails.application.config.assets.precompile+=['ployate/dist/ployate.js','ployate/dist/ployate.css']
- 资产预编译并上载到生产
public/assets/…
然而,我更愿意使用捆绑在我的应用服务器上的本地缓存预编译资产,而不是依赖公共CDN、网络带宽和更多的外部事物。不知道您是否能够解决您的问题。对我来说,我忘记了跑步:
rake assets:precompile
在部署到生产环境之前
Error: No value provided for variable {s}
rake assets:precompile