Rails没有预编译javascripts

时间:2014-10-02 21:39:50

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

我刚刚开始处理现有项目,我遇到了一些问题,需要在localhost上加载jquery。部署的网站似乎工作正常,所以我有点难以从哪里开始解决这个问题。

在控制台中我得到了:

未捕获的ReferenceError:$未定义localhost

似乎jquery没有加载,但它包含在gemfile中。

在控制台中,base.js文件显示如下:

//= require jquery
//= require sass-bootstrap-3/dist/js/bootstrap
//= require modernizr
//= require respond
//= require lodash
;

我认为它应该显示脚本的编译版本。

在控制台中运行它会显示jquery确实存在。

Rails.application.config.assets

--- !omap
- :enabled: true
- :paths:
  - /Users/000/app/assets/ebooks
  - /Users/000/app/assets/fonts
  - /Users/000/app/assets/images
  - /Users/000/app/assets/javascripts
  - /Users/000/app/assets/stylesheets
  - /Users/000/vendor/assets/javascripts
  - /Users/000/vendor/assets/stylesheets
  - /Users/000/.gem/ruby/2.0.0/gems/client_side_validations-3.2.6/vendor/assets/javascripts
  - /Users/000/.gem/ruby/2.0.0/gems/coffee-rails-3.2.2/lib/assets/javascripts
  - /Users/000/.gem/ruby/2.0.0/gems/jquery-rails-3.0.4/vendor/assets/javascripts
  - !ruby/object:Pathname
    path: /Users/000/app/assets/fonts
- :precompile:
  - !ruby/object:Proc {}
  - !ruby/regexp /(?:\/|\\|\A)application\.(css|js)$/
  - !ruby/regexp /(^[^_\/]|\/[^_])[^\/]*$/
  - !ruby/regexp /\.(?:svg|eot|woff|ttf)$/
- :prefix: /assets
- :version: '1.0'
- :debug: true
- :compile: true
- :digest: false
- :manifest:
- :cache_store:
  - :file_store
  - /Users/000/tmp/cache/assets/
- :js_compressor:
- :css_compressor: !ruby/object:Sass::Rails::CssCompressor
    options:
      :style: :compressed
- :initialize_on_precompile: true
- :logger:
- :compress: true
- :digests: {}
- :source_digests: {}

我正在使用Rails 3.2.5和jquery-rails 3.0.4。 有关从哪里开始排除故障的任何想法?我已经花了一天时间试图解决这个问题(可能非常简单)。

2 个答案:

答案 0 :(得分:0)

你还试过http://guides.rubyonrails.org/v3.2.19/asset_pipeline.html#precompiling-assets吗?检查预编译资产的设置可能会有所帮助。

除此之外,您是否错过了//= require jquery_ujs行? https://github.com/rails/jquery-rails同时指定//= require jquery//= require jquery_ujs

答案 1 :(得分:0)

通过做两件事来解决这个问题:

首先:降级到ruby 1.9.3和 第二:如上所述,添加    //= require jquery_ujs 到清单js文件

感谢您的帮助。