jquery - sprockets::StaticPages#home 中未找到文件

标签 jquery ruby-on-rails ruby sprockets

我正在研究 Michael Hartl 的 ruby​​ on Rails 教程,但遇到了一个问题,几天来都无法解决。

当尝试加载页面时,chrome 读取:

Sprockets::FileNotFound in StaticPages#home
Showing /Users/azimmer/rails_projects/sample_app/app/views/layouts/application.html.erb where line #7 raised:

couldn't find file 'jquery'
  (in /Users/azimmer/rails_projects/sample_app/app/assets/javascripts/application.js:13)
Extracted source (around line #7):
4
5
6
7
8
9
10

      <title><%= full_title(yield(:title)) %></title>
      <%= stylesheet_link_tag "application", media: "all",
                                             "data-turbolinks-track" => true %>
      <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
      <%= csrf_meta_tags %>
      <%= render 'layouts/shim' %>
      </head>

Rails.root: /Users/azimmer/rails_projects/sample_app

这是我的 gem 文件:

source 'https://rubygems.org'
ruby '2.0.0'
#ruby-gemset=railstutorial_rails_4_0

gem 'rails', '4.0.2'
gem 'bootstrap-sass', '2.3.2.0'
gem 'bcrypt-ruby', '3.1.2'

group :development, :test do
  gem 'sqlite3', '1.3.8'
  gem 'rspec-rails', '2.13.1'
end

group :test do
  gem 'selenium-webdriver', '2.35.1'
  gem 'capybara', '2.1.0'

gem 'sass-rails', '4.0.2'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '2.3.0'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'
gem 'factory_girl_rails', '4.2.1'

end

group :doc do
  gem 'sdoc', '0.3.20', require: false
end

group :production do
  gem 'pg', '0.15.1'
  gem 'rails_12factor', '0.0.2'
end

这是我的 application.html.erb 文件:

<!DOCTYPE html>
<html>
  <head>
    <title><%= full_title(yield(:title)) %></title>
    <%= stylesheet_link_tag "application", media: "all",
                                           "data-turbolinks-track" => true %>
    <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
    <%= csrf_meta_tags %>
    <%= render 'layouts/shim' %>
  </head>
  <body>
    <%= render 'layouts/header' %>
    <div class="container">
      <%= yield %>
      <%= render 'layouts/footer' %>
      <%= debug(params) if Rails.env.development? %>
    </div>
  </body>
</html>

我的 application.js 文件完全未受影响。我已经尝试了一切,从添加 gem ruby​​racer,到在另一个线程上推荐的 execjs 中编辑 runtimes.rb 文件。我正在考虑从头开始,以便让一切正常工作,至少在这种情况下我会重新学习我学到的很多东西,但我希望有人至少可以帮助我弄清楚发生了什么就在这里。

非常感谢您的帮助!

干杯, 亚历克斯

编辑

如果我更改线路,它就会起作用

<%= javascript_include_tag 'application', "data-turbolinks-track" => true %>

<%= javascript_include_tag :default, "data-turbolinks-track" => true %>

谁能解释一下这是什么意思?做出这样的改变会对我的申请产生怎样的负面影响?谢谢您的帮助!

最佳答案

将以下行添加到 app/assets/javascripts/application.js 文件

//= require jquery
//= require jquery_ujs

还要确保您已运行bundle install

在此之后运行 bundle show jquery-rails 来验证 gem 是否已成功安装。

编辑

更新您的 Gemfile,如下所示: jquery-rails 和所有环境中所需的其他一些 gem 都列在 test 组下,因此您无法在开发环境中访问它们。 更正 Gemfile 如下:

gem 'sass-rails', '4.0.2'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '2.3.0'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'

group :test do
  gem 'selenium-webdriver', '2.35.1'
  gem 'capybara', '2.1.0'
  gem 'factory_girl_rails', '4.2.1'
end

在此 bundle 更新 bundle 安装之后。你应该可以走了。

关于jquery - sprockets::StaticPages#home 中未找到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22582097/

相关文章:

javascript - 单击div时缓慢出现

javascript - 使用Jquery查找点击项目的类

jquery - 仅当目标指定为 id 时才显示元素

ruby-on-rails - rails 嵌套路由的简单形式

ruby-on-rails - ActiveModel::Errors:Class 的未定义方法 `model_name'

javascript - 如何使用 mark.js 突出显示不同的搜索结果?

ruby-on-rails - 如何关闭 HTTParty 帖子正文中的 URI 编码?

ruby - 无法 'brew link' imagemagick

ruby-on-rails - 使用 RVM 安装 Ruby

ruby-on-rails - Rails 应用程序的 SaaS 计费 : Chargify, PayPal 或...?