【问题标题】:Sprockets::FileNotFound in Ruby ApplicationRuby 应用程序中的 Sprockets::FileNotFound
【发布时间】:2016-02-04 04:19:56
【问题描述】:

我正在使用 Ruby -v 2.2.1 和 Rails 4.2.4 版以及下面所示的 gemshaml、simple_form 和 bootstrap-sass。我一直收到以下错误:

Sprockets::FileNotFound in Static_page#index

该错误还表明它无法在 javascript/application 中找到我的文件,更具体地说,这是我拥有的 app/assets/javascripts/application.js:

//= require bootstrap-sass/assets/javascripts/bootstrap-sprockets

此外,我在 application.js 中也包含了这些:

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .

我的 application.css.scss 中还包含以下内容:

@import "bootstrap-sprockets";
@import "bootstrap";

这是我正在使用的 gem 文件:

gem 'rails', '4.2.4'
gem 'sqlite3'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'haml', '~> 4.0', '>= 4.0.7'
gem 'simple_form', '~> 3.2', '>= 3.2.1'
gem 'bootstrap-sass', '~> 3.3.6'

group :development, :test do
    gem 'byebug'
end

group :development do
gem 'web-console', '~> 2.0'

gem 'spring'
end

我已经进行了捆绑安装重新启动了我的rails服务器几次尝试进行故障排除。

为什么此错误不断发生,并且可能与我的 gem 版本不兼容?谢谢。

【问题讨论】:

  • 您在使用 Bower 吗?否则,您应该只需要 //= require bootstrap 或 bootstrap-sprockets ,具体取决于您的需要。见bootstrap-sass
  • 你有staticpage#index ????

标签: ruby-on-rails ruby twitter-bootstrap


【解决方案1】:

错误只是表明它找不到在application.js中调用的JS文件。


根据docs,您需要在JS 管道中包含以下内容才能使其正常工作:

//= require jquery
//= require bootstrap-sprockets

引用bootstrap-sass/assets/javascripts/bootstrap-sprockets 似乎违反了这种模式(请记住,asset_path 的作用类似于PATH 环境变量——您可以在没有相对路径的情况下引用单个文件)。

【讨论】:

    【解决方案2】:

    对我来说,这是在升级到 rails 7 之后发生的,因为 rails 7 没有附带 Sprockets。

    我通过添加链轮进行了修复,一切正常:

    # Gemfile
    gem "sprockets-rails"
    

    更多信息here

    【讨论】:

      猜你喜欢
      • 2013-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多