Sprockets文件未找到例外

时间:2011-11-25 12:13:04

标签: ruby-on-rails sprockets

我正在为Rails尝试一些示例应用程序。我创造了一些 控制器和页面。但当我尝试访问其中一个时,我得到了一个 网页上的例外情况:


Sprockets::FileNotFound in Pages#home
Showing c:/railscode/test_app/app/views/layouts/application.html.erb
where line #6 raised:

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

    3: <head> 
    4:   <title>TestApp</title> 
    5:   <%= stylesheet_link_tag    "application" %> 
    6:   <%= javascript_include_tag "application" %> 
    7:   <%= csrf_meta_tags %> 8: </head> 9: <body>

Rails.root:`c:/railscode/test_app`

我使用命令创建了一些控制器:

$ rails generate controller Pages home contact

  create  app/controllers/pages_controller.rb
   route  get "pages/contact"
   route  get "pages/home"
  invoke  erb
  create    app/views/pages
  create    app/views/pages/home.html.erb
  create    app/views/pages/contact.html.erb
  invoke  rspec
  create    spec/controllers/pages_controller_spec.rb
  create    spec/views/pages
  create    spec/views/pages/home.html.erb_spec.rb
  create    spec/views/pages/contact.html.erb_spec.rb
  invoke  helper
  create    app/helpers/pages_helper.rb
  invoke  rspec
  create     spec/helpers/pages_helper_spec.rb
  invoke  assets
  invoke    js
  create      app/assets/javascripts/pages.js
  invoke    css
  create      app/assets/stylesheets/pages.css

只是想知道问题出在哪里以及在哪里看?我是 通过网址访问该网页:http://localhost:3000/pages/home

4 个答案:

答案 0 :(得分:18)

取消评论

//= require jquery
在application.js文件中

并重新启动应用程序对我有用。

答案 1 :(得分:10)

安装http://metaskills.net/2011/09/26/less-is-more-using-twitter-bootstrap-in-the-rails-3-1-asset-pipeline/

FileNotFound twitter/bootstrap出现类似问题

我做了rake assets:clean assets:precompile,但这没有帮助。正如afaf12所建议的那样有助于重新启动rails应用程序。

答案 2 :(得分:0)

你的jquery-rails宝石很可能已经过时了。当我遇到类似的错误时,更新gem解决了这个问题。

您是否从头开始将其创建为Rails 3.1应用程序?或者您是从某个地方下载代码(或更新旧应用程序)?

答案 3 :(得分:0)

在 rails 6.x.x 中,问题可以通过执行来解决

bundle exec rails webpacker:install