noUiSlider不在Heroku上工作但在本地工作

时间:2013-11-08 15:16:35

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

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

还尝试使用html 链接脚本标记直接添加这两个文件但仍然只能在本地使用,但在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 .
 */  

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您是否看过rails资产管道上的Heroku文档?

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

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

RAILS_ENV=production bundle exec rake assets:precompile

然后重新部署。

答案 1 :(得分:0)

尝试添加(不含宝石):

<%= javascript_include_tag "jquery.nouislider" %>  

位于页面底部,然后位于 production.rb

  

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

我在Heroku的rails中遇到了另一个滑块的问题。如果您有任何问题,请尝试并发表评论。

更新:

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