迁移到Rails 3.1期间javascript_include_tag中的jQuery失败

时间:2011-09-22 12:24:55

标签: jquery migration ruby-on-rails-3.1

我正在尝试将应用程序从Rails 3迁移到3.1并且遇到jQuery问题。错误如下。如果我删除'javascript_include_tag'应用程序“'一切正常(没有javascript),所以缺少与javascript相关的内容。

Showing C:/.../app/views/layouts/application.html.erb where line #7 raised:

couldn't find file 'jquery'
  (in C:/.../app/assets/javascripts/application.js:7)
 Extracted source (around line #7):

4:   <title><%= @title unless @title.blank? %></title>
5:   <!-- %= render 'layouts/stylesheets' % --> 
6:   <%= stylesheet_link_tag "application" %>
7:   <%= javascript_include_tag "application", :debug => true %>
8:   <%= csrf_meta_tags %>
9: </head>
10: <body>

在我的Gemfile中,我有jquery-rails的条目:

source 'http://rubygems.org'

gem 'rails', '3.1.0'
gem 'jquery-rails'
....

在application.js中:

// This is a manifest file .......
//
//= require jquery
//= require jquery_ujs
//= require_tree .
//

据我所知,这是在Rails 3.1中使用jQuery的唯一要求。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

//= require jquery

是Rails 3.1中的新指令,它提到了所需的jquery.js文件。

在Rails 3.1中,jquery.js和jquery_ujs.js文件位于jquery-rails gem中包含的vendor / assets / javascripts目录中。

另外,你做了捆绑安装吗?

有关http://guides.rubyonrails.org/asset_pipeline.html的资产管道的更多信息。 有关在http://guides.rubyonrails.org/asset_pipeline.html#manifest-files-and-directives的Rails中使用Javascript的更多信息。