Update
I got this error because I had a public.css and public.js file that was not compiled with the rest of the .css and .js files. The solution was to add this line to the production.rb file
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
config.assets.precompile += %w( public.js public.css )
As you see from the comment all files names application are already added. So, I just had to add the ones that was not called application.
Hope it helps someone!
Original question
I have this gem file
gem 'rails', '3.1.0'
group :production do
gem 'pg'
end
group :development, :test do
gem 'sqlite3'
end
gem "heroku"
gem 'thin'
gem 'sass-rails', " ~> 3.1.0"
gem 'coffee-rails', "~> 3.1.0"
gem 'tabulous'
gem 'json'
gem "paperclip", "~> 2.4"
gem "devise"
gem "redcarpet"
group :assets do
gem 'uglifier'
end
gem 'jquery-rails'
gem "rspec-rails", :group => [:test, :development]
group :test do
end
when I deploy with "git push heroku master" I see this
Preparing app for Rails asset pipeline
Running: rake assets:precompile
mkdir -p /tmp/build_2m34y4hj01m4o/public/assets
mkdir -p /tmp/build_2m34y4hj01m4o/public/assets
mkdir -p /tmp/build_2m34y4hj01m4o/public/assets
mkdir -p /tmp/build_2m34y4hj01m4o/public/assets/admin
mkdir -p /tmp/build_2m34y4hj01m4o/public/assets/admin
-----> 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 31.2MB
-----> Launching... done, v5
http://maktaba.herokuapp.com deployed to Heroku
but in the heroku logs I get this ActionView::Template::Error. css isn't precompiled Strange.. I thougt it was looking at the deployment feedback
2011-11-23T22:59:48+00:00 app[web.1]: Rendered public/index.html.erb within layouts/first (0.7ms)
2011-11-23T22:59:48+00:00 app[web.1]: Completed 500 Internal Server Error in 30ms
2011-11-23T22:59:48+00:00 app[web.1]:
2011-11-23T22:59:48+00:00 app[web.1]: ActionView::Template::Error (public/public.css isn't precompiled):
2011-11-23T22:59:48+00:00 app[web.1]: 2: <html>
2011-11-23T22:59:48+00:00 app[web.1]: 3: <head>
2011-11-23T22:59:48+00:00 app[web.1]: 4: <title>Maktaba</title>
2011-11-23T22:59:48+00:00 app[web.1]: 5: <%= stylesheet_link_tag "public/public" %>
2011-11-23T22:59:48+00:00 app[web.1]: 6: <%= javascript_include_tag "public/public" %>
2011-11-23T22:59:48+00:00 app[web.1]: 7: <%= csrf_meta_tags %>
2011-11-23T22:59:48+00:00 app[web.1]: 8: <%= csrf_meta_tags %>
2011-11-23T22:59:48+00:00 app[web.1]: app/views/public/index.html.erb:5:in `_app_views_public_index_html_erb___1726244208117637261_45234420'
2011-11-23T22:59:48+00:00 app[web.1]: app/controllers/public_controller.rb:13:in `block (2 levels) in index'
2011-11-23T22:59:48+00:00 app[web.1]:
2011-11-23T22:59:48+00:00 app[web.1]: app/controllers/public_controller.rb:12:in `index'
Can any of you see what I am doing wrong?
bundle exec rake assets:precompile
on your local codeIf this is your first time deploying your app to heroku, you may experience more errors after this is resolved. Let me know what happens.
Actually, you need to run precompilation for your production environment:
RAILS_ENV=production bundle exec rake assets:precompile
on localMore broadly, the Heroku docs describe three options for asset compilation for Rails 3.1+ on Cedar:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With