在资产管道中加载JS

时间:2012-05-13 03:02:26

标签: jquery ruby-on-rails asset-pipeline assets

我刚刚更新了我的网站以使用jQuery插件jquery.raty.min.js

该插件允许用户在完成评论时选择jQuery样式评级星。

http://www.wbotelhos.com/raty/

在localhost上一切正常,但当我部署到“heroku”时,我收到一个错误,阻止我甚至加载主页!请参阅以下错误:

 ActionView::Template::Error ('twitter/bootstrap/bootstrap.less' wasn't found.
   (in /app/app/assets/stylesheets/bootstrap_and_overrides.css.less)):
6:     <!--[if lt IE 9]>
7:     <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
8:     <![endif]-->    
9:     <%= stylesheet_link_tag "application", media: "all" %>
10:     <%= javascript_include_tag "application" %>
11:     <%= include_gon %>
12:     <%= csrf_meta_tags %>    
app/views/layouts/application.html.erb:9:in `_app_views_layouts_application_html_erb___4184194920936324767_38840920'

在localhost上,一切正常,但没有为raty //= require jquery.raty.min添加需求行,但在“heroku”上插件根本不加载。为了解决这个问题,我添加了require行,但后来我开始收到网站上每个页面的上述错误。

编辑:

我的application.js:

//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require twitter/bootstrap
//= require bootstrap-tooltip
//= require bootstrap-popover
//= require dataTables/jquery.dataTables
//= require dataTables/jquery.dataTables.bootstrap
//= require chosen-jquery
//= require_tree .

jquery.raty.min的包含放在哪里似乎并不重要。它总是打破:))

更新:

我实际上正在使用https://github.com/seyhunak/twitter-bootstrap-rails gem,为了解决这个问题,我需要添加到我的application.css:

*= bootstrap_and_overrides.css.less 

3 个答案:

答案 0 :(得分:0)

您需要在应用程序css中包含twitter-bootstrap

*= require 'twitter/bootstrap'

答案 1 :(得分:0)

在我的application.css文件中添加*= bootstrap_and_overrides.css.less并未解决我在heroku上使用twitter-boostrap-rails gem时遇到的类似问题。您可能需要在config / application.rb文件中设置以下内容:

config.assets.initialize_on_precompile = false

我最初发现这个: http://www.simonecarletti.com/blog/2012/02/heroku-and-rails-3-2-assetprecompile-error/

我还在我的application.css文件中留下了*= bootstrap_and_overrides.css.less,正如Abram建议的那样,现在所有的作品都将在Heroku上。

答案 2 :(得分:0)

尝试bundle exec rake assets:precompile

http://guides.rubyonrails.org/asset_pipeline.html