ceth
ceth

Reputation: 45325

Failed to load resource: the server responded with a status of 404 (Not Found)

I have rails app which are working perfectly in the local computer. But when I'm deploying it on Heroku I get next error in the browser:

Failed to load resource: the server responded with a status of 404 (Not Found) http://hollow-cloud-nnn.herokuapp.com/stylesheets/application.css
Failed to load resource: the server responded with a status of 404 (Not Found) http://hollow-cloud-nnn.herokuapp.com/javascripts/application.js

I have this files in the app\assets\javascript and \app\assets\stylesheets folder.

Here is my config\production.rb:

# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false

# Compress JavaScripts and CSS
config.assets.compress = true

# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true

# Generate digests for assets URLs
config.assets.digest = true

Here is console output of deployment:

       Using mongoid (2.4.7)
       Using rails (3.2.1)
       Using sass (3.1.15)
       Using sass-rails (3.2.5)
       Using uglifier (1.2.3)
       Your bundle is complete! It was installed into ./vendor/bundle
       Cleaning up the bundler cache.
-----> Writing config/database.yml to read from DATABASE_URL
-----> Rails plugin injection
       Injecting rails_log_stdout
       Injecting rails3_serve_static_assets
-----> Discovering process types
       Procfile declares types      -> (none)
       Default types for Ruby/Rails -> console, rake, web, worker
-----> Compiled slug size is 15.8MB
-----> Launching... done, v24
       http://hollow-cloud-7412.herokuapp.com deployed to Heroku

To [email protected]:hollow-cloud-7412.git
   cb8ded3..dc103ac  master -> master

How can I fix it?

Upvotes: 11

Views: 20282

Answers (2)

Kenny Chan
Kenny Chan

Reputation: 1232

It seems like you are a mongoid user running rails 3.1+ . This is quite a common issue for Mongoid users as the documentation instruct you to remove this line in config/application.rb

require 'rails/all'

To resolve this, add the following line to config/application.rb

require 'sprocket/railtie'

Upvotes: 0

NARKOZ
NARKOZ

Reputation: 27961

You should precompile assets or set config.assets.compile = true in your production environment.

More information is available on heroku dev center, read how to use rails 3.1+ asset pipeline on heroku.

Upvotes: 22

Related Questions