Jquery 链轮::在StaticPages#home中找不到文件

Jquery 链轮::在StaticPages#home中找不到文件,jquery,ruby-on-rails,ruby,sprockets,Jquery,Ruby On Rails,Ruby,Sprockets,我正在编写MichaelHartl的RubyonRails教程,遇到了一个好几天都没能解决的问题 尝试加载页面时,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'

我正在编写MichaelHartl的RubyonRails教程,遇到了一个好几天都没能解决的问题

尝试加载页面时,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
这是我的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 rubyracer到在另一个线程上推荐的execjs中编辑runtimes.rb文件,我已经尝试了所有的方法。我正在考虑从头开始,以使一切顺利进行,至少在这种情况下,我会重新学习我学到的很多东西,但我希望至少有人能帮我弄清楚这里发生了什么

非常感谢你的帮助

干杯, 亚历克斯

编辑

如果我把线路从

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

true%>

有人能解释一下这是什么意思吗?做出这样的更改会对我的应用程序产生怎样的负面影响?谢谢你的帮助

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

//= require jquery
//= require jquery_ujs
还要确保您已经运行了
捆绑安装

在这次运行之后,
bundle显示jqueryrails
,以验证gem是否已成功安装

编辑

更新您的GEM文件,如下所示:
jqueryrails
和所有环境中所需的其他一些gem都列在
test
组下,所以您无法在开发环境中访问它们。 按如下所示更正该文件:

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

在此之后,
捆绑包更新
捆绑包安装
。您应该可以开始了。

在app/assets/javascripts/application.js文件中添加以下行

//= require jquery
//= require jquery_ujs
还要确保您已经运行了
捆绑安装

在这次运行之后,
bundle显示jqueryrails
,以验证gem是否已成功安装

编辑

更新您的GEM文件,如下所示:
jqueryrails
和所有环境中所需的其他一些gem都列在
test
组下,所以您无法在开发环境中访问它们。 按如下所示更正该文件:

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

在此之后,
捆绑包更新
捆绑包安装
。您应该可以开始了。

我也遇到了类似的问题,问题与现有gems无关,而是与它们的缓存版本有关

以下步骤为我解决了问题:

  • 指定受影响gems的实际版本
  • 通过执行清理资产管道
    rake assets:Clean
  • 清理浏览器的缓存
  • 再次启动服务器
  • 这个过程对每个人来说都不一样,因为这里的问题与gems的缓存版本有关,正如我已经提到的


    至少它应该有助于找到解决方案。

    我有一个类似的问题,这个问题与现有的gems无关,而是与它们的缓存版本有关

    以下步骤为我解决了问题:

  • 指定受影响gems的实际版本
  • 通过执行清理资产管道
    rake assets:Clean
  • 清理浏览器的缓存
  • 再次启动服务器
  • 这个过程对每个人来说都不一样,因为这里的问题与gems的缓存版本有关,正如我已经提到的


    至少它应该有助于找到解决方案。

    如果您使用的是rails 5。您需要使用
    npm install
    安装node.js,以便rails自动为我们安装前端需求。这解决了我的问题。

    如果您使用的是rails 5。您需要使用
    npm install
    安装node.js,以便rails自动为我们安装前端需求。这解决了我的问题。

    添加命令/config/initialize/assets

    Rails.application.config.assets.paths << Rails.root.join('node_modules')
    

    Rails.application.config.assets.pathaddcommands/config/initialize/assets

    Rails.application.config.assets.paths << Rails.root.join('node_modules')
    

    Rails.application.config.assets.path这些行已经在那里了,我一直在运行bundle update并安装了很多,试图看看人们建议的不同版本是否可以解决这个问题,但都没有用。当我放置“bundle show jquery rails”时,我得到了“/Users/azimmer/.rvm/gems/ruby-2.0.0”-p353@global/gems/jquery-rails-2.3.0'和我在chrome(或任何其他浏览器)中也会遇到同样的错误。我想知道我的路径或资产管道是否有问题?@user3450489仔细查看了这个文件。在编辑部分查看我的更新答案。就是这样!非常感谢你的帮助。现在我将知道未来的情况。我丢失了jquery rails
    。谢谢你!:)这些行已经在那里了,我一直在运行bundle更新和安装,试图看看人们建议的不同版本是否可以解决这个问题,但没有效果。当我放置“bundle show jquery rails”时,我得到了“/Users/azimmer/.rvm/gems/ruby-2.0.0”-p353@global/gems/jquery-rails-2.3.0'和我在chrome(或任何其他浏览器)中也会遇到同样的错误。我想知道我的路径或资产管道是否有问题?@user3450489仔细查看了这个文件。在编辑部分查看我的更新答案。就是这样!非常感谢你的帮助。现在我将知道未来的情况。我丢失了jquery rails
    。谢谢你!:)我确认,这是使用:default而不是application我确认,这是使用:default而不是application