Codestudio
Codestudio

Reputation: 525

Sprockets::FileNotFound in Ruby Application

I am using Ruby -v 2.2.1 and Rails version 4.2.4 with gems haml, simple_form, and bootstrap-sass indicated below. I consistently get the following error:

Sprockets::FileNotFound in Static_page#index

The error also indicates that it could not find my file in javascript/application, more specifically this is what I have app/assets/javascripts/application.js:

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

In addition, I have these included as well in application.js:

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

I also have the following included in my application.css.scss:

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

And here are the gem files I am using:

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

I have already conducted a bundle install and restarted my rails sever several times to try to troubleshoot.

Why does this error keep occurring and might there be some kind of incompatibility with my gems' versions? Thank you.

Upvotes: 1

Views: 2252

Answers (2)

stevec
stevec

Reputation: 52268

For me, this happened after upgrading to rails 7, and was because rails 7 doesn't come with Sprockets.

I fixed by adding sprockets and everything worked:

# Gemfile
gem "sprockets-rails"

More info here

Upvotes: 0

Richard Peck
Richard Peck

Reputation: 76774

The error simply states that it cannot find the JS file which has been called in application.js.


According to the docs, you need to have the following in your JS pipeline to get it working:

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

Referencing bootstrap-sass/assets/javascripts/bootstrap-sprockets seems to violate that pattern (remember, asset_path acts like a PATH env var -- you can reference individual files without the relative path).

Upvotes: 1

Related Questions