【问题标题】:noUiSlider not working on Heroku but works locallynoUiSlider 不在 Heroku 上工作,但在本地工作
【发布时间】:2013-11-08 15:16:35
【问题描述】:

我已经在我的 rails 应用程序中实现了noUiSlider。但它不适用于 Heroku。 (将 css 和 js 文件 here 放入我的 app/assets/javascript 和 app/assets/stylesheets/ 文件夹中。在本地一切正常,但在 heroku 上不行

还尝试使用 html linkscript 标签直接添加这两个文件,但它仍然只能在本地工作,尽管在 Heroku 上我可以看到这两个文件正在加载。

我的 Gemfile 中有 jquery-rails gem。

我的 application.js:

//
//= require jquery
//= require jquery_ujs
//= require bootstrap-transition
//= require gmaps4rails.base
//= require gmaps4rails.googlemaps
//= require_tree .

和application.css:

 *
 *= require_self
 *= require bootstrap
 *= require _font-awesome
 *= require_tree .
 */  

编辑

即使尝试使用noUISlider rails gem,但仍然是同样的问题。有了这个 gem,我的 application.js 和 application.css 看起来像这样:

//
//= require jquery
//= require jquery_ujs
//= require jquery.nouislider
//= require bootstrap-transition
//= require gmaps4rails.base
//= require gmaps4rails.googlemaps
//= require_tree .  

*= require_self
 *= require bootstrap
 *= require _font-awesome
 *= require jquery.nouislider
 *= require_tree .
 */  

我该如何解决这个问题?

【问题讨论】:

    标签: ruby-on-rails heroku asset-pipeline


    【解决方案1】:

    尝试添加(不带 gem):

    <%= javascript_include_tag "jquery.nouislider" %>  
    

    在页面底部,然后在您的 production.rb

    config.assets.precompile += %w(jquery.nouislider.js)

    我在 Heroku 上的另一个滑轨中遇到了同样的问题。如果您有任何问题,请尝试并评论。

    更新:

    我认为为什么它不起作用是因为我需要在页面加载后调用$(#element).noUiSlider();。因此,将nouislider.js 添加到app/assets/javascripts/ 中,当我调用滑块函数时,我在$(document).ready() 函数中调用它。

    【讨论】:

      【解决方案2】:

      您是否查看过有关 rails 资产管道的 Heroku 文档?

      https://devcenter.heroku.com/articles/rails-asset-pipeline

      尝试在本地编译您的资产。

      RAILS_ENV=production bundle exec rake assets:precompile
      

      然后重新部署。

      【讨论】:

      • 但为什么有必要这样做?
      • 在链接上有一些故障排除提示,描述了它可能无法正常工作的一些原因。 Heroku 的预编译远非完美。我发现在本地预编译更好,所以我知道它正在工作。我可以去public/assets文件夹看看一切都编译正确了。
      • 好的,但是直接 html 标签 linkscript 怎么样。他们应该开箱即用。
      • 您是否启用了日志记录并检查了heroku logs 是否有错误?还要检查浏览器上的 javascript 控制台是否有错误。
      • 浏览器控制台中没有错误,heroku 日志中也没有。我什至尝试将文件 javascript 和 css 代码放入 application.css 和 application.js 但仍然无法加载。
      猜你喜欢
      • 1970-01-01
      • 2014-01-02
      • 2021-04-26
      • 2013-03-29
      • 2015-02-07
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      • 2017-06-05
      相关资源
      最近更新 更多