1

我已经在我的 rails 应用程序中实现了noUiSlider 。但它不适用于 Heroku。(将 css 和 js 文件放在我的 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 .
 */  

我该如何解决?

4

2 回答 2

0

尝试添加(没有宝石):

<%= javascript_include_tag "jquery.nouislider" %>  

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

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

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

更新:

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

于 2013-12-29T14:51:43.983 回答
0

你看过关于 Rails 资产管道的 Heroku 文档吗?

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

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

RAILS_ENV=production bundle exec rake assets:precompile

然后重新部署。

于 2013-11-08T15:20:24.843 回答