Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript RubyonRails:传单rails未加载_Javascript_Ruby On Rails_Gem_Leaflet_Sprockets - Fatal编程技术网

Javascript RubyonRails:传单rails未加载

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

使用RoR 4.1.4

我正试着用这个。我遵循github页面中概述的步骤,但是当我尝试加载地图时,我看到

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: '&copy; <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)
  • /=需要传单/dist/floate.js
    (application.js)
  • *=需要传单/dist/传单.css
    (application.css)
  • Rails.application.config.assets.precompile+=['ployate/dist/ployate.js','ployate/dist/ployate.css']
  • 资产预编译并上载到生产
    public/assets/…
我还缺什么吗

[解决方案]

这个问题可以通过使用CDN资产来解决,CDN资产在


然而,我更愿意使用捆绑在我的应用服务器上的本地缓存预编译资产,而不是依赖公共CDN、网络带宽和更多的外部事物。

不知道您是否能够解决您的问题。对我来说,我忘记了跑步:

rake assets:precompile
在部署到生产环境之前

Error: No value provided for variable {s}
rake assets:precompile