slindsey3000
slindsey3000

Reputation: 4271

How to not require application.css.scss twice?

Just got done some basic styling for my app. Using Twitter Bootstrap.... App was deployed to Heroku and working but now with the Bootstrap styling updates I am getting this error:

ActionView::Template::Error (/app/app/assets/stylesheets/application.css has already been required):

Anyone have any ideas what this could be. Have been fussing around for a couple hours now. Have tried a bunch of stuff. Some of it mentioned here:

Why do I get an ActionView::Template::Error only when trying to upload an App to Heroku?

2013-07-17T15:12:26.494137+00:00 app[web.1]: Started GET "/" for 71.203.124.202 at 2013-07-17 15:12:26 +0000
2013-07-17T15:12:27.403656+00:00 app[web.1]:     4:     %title
2013-07-17T15:12:27.403656+00:00 app[web.1]: 
2013-07-17T15:12:27.403656+00:00 app[web.1]: ActionView::Template::Error (/app/app/assets/stylesheets/application.css has already been required):
2013-07-17T15:12:27.403656+00:00 app[web.1]:     3:   %head                              
2013-07-17T15:12:27.403656+00:00 app[web.1]:     5:       Current Lines and Analysis
2013-07-17T15:12:27.403656+00:00 app[web.1]:     6:     = stylesheet_link_tag    "application", :media => "all"
2013-07-17T15:12:27.403656+00:00 app[web.1]:     7:     = javascript_include_tag "application"
2013-07-17T15:12:27.404086+00:00 app[web.1]:   Rendered shared/navigation/_main_nav.html.haml (1.4ms)
2013-07-17T15:12:27.403656+00:00 app[web.1]:   app/views/layouts/posts.html.haml:6:in `_app_views_layouts_posts_html_haml___3387163029388442478_46287060'
2013-07-17T15:12:27.403656+00:00 app[web.1]:     8:     = csrf_meta_tags                                          
2013-07-17T15:12:27.403656+00:00 app[web.1]:     9:     :javascript
2013-07-17T15:12:27.404086+00:00 app[web.1]:   Rendered shared/_events_sort_toggle.html.haml (1.0ms)
2013-07-17T15:12:27.404086+00:00 app[web.1]:   Rendered shared/_main_flash.html.haml (0.1ms)
2013-07-17T15:12:27.404086+00:00 app[web.1]:   Rendered shared/_header.html.haml (4.5ms)
2013-07-17T15:12:27.403892+00:00 app[web.1]: 
2013-07-17T15:12:27.403892+00:00 app[web.1]: 
2013-07-17T15:12:27.404086+00:00 app[web.1]:   Rendered shared/_events_sidebar.html.haml (22.6ms)
2013-07-17T15:12:27.404248+00:00 app[web.1]: Completed 500 Internal Server Error in 904ms
2013-07-17T15:12:27.404086+00:00 app[web.1]: Processing by PostsController#index as HTML
2013-07-17T15:12:27.404248+00:00 app[web.1]:   Rendered posts/index.html.haml within layouts/posts (40.5ms)
2013-07-17T15:12:27.404086+00:00 app[web.1]:   Rendered shared/_posts_sort_toggle.html.haml (1.5ms)
2013-07-17T15:12:27.404086+00:00 app[web.1]:   Rendered shared/_posts_multi.html.haml (2.2ms)
2013-07-17T15:12:27.404086+00:00 app[web.1]:   Rendered shared/_hot-events-box.html.haml (2.0ms)
2013-07-17T15:12:27.404086+00:00 app[web.1]:   Rendered shared/_leagues_toggle.html.haml (2.6ms)
2013-07-17T15:12:27.404248+00:00 app[web.1]:   Rendered shared/_top_users_sidebar.html.haml (1.7ms)
2013-07-17T15:12:27.404215+00:00 heroku[router]: at=info method=GET path=/ host=www.webxxxxx.com fwd="xx.203.124.xxx" dyno=web.1 connect=1ms service=918ms status=500 bytes=643

application.css.scss file


/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
 * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the top of the
 * compiled file, but it's generally better to create a new file per style scope.
 *
 *= require_self
 *= require bootstrap
 *= require_tree .
 */

@import "bootstrap";

When I take these 2 lines out of my posts layout the site renders but without style...


= stylesheet_link_tag    "application", :media => "all"
= javascript_include_tag "application"

enter image description here

Any ideas?

Upvotes: 2

Views: 3201

Answers (4)

Gabi Turliu
Gabi Turliu

Reputation: 226

I had the same problem and I fixed it by running "rake assets:precompile RAILS_ENV=production " locally and then pushing back to heroku.

Upvotes: 0

Kieran Senior
Kieran Senior

Reputation: 18220

Perhaps related to your problem, but if you use source control and you've done a merge in the past you'll have a stylesheet looking like application.css.orig which will be included with require_tree. I had this same error and by removing the *.orig files it resolved itself immediately.

Basically, anything named *.css.* could be wreaking havoc with Rails.

Upvotes: 2

slindsey3000
slindsey3000

Reputation: 4271

I turns out that removing require_tree . and adding files individually did the trick. Maybe I have a conflict because I use rails_admin???

Putting this up for anyone else who runs across this problem.

Upvotes: 0

vee
vee

Reputation: 38645

Check to see if you have application.css file in you app/assets/stylesheets directory. By default rails places the content of what you have in your application.css.scss in application.css. You might have created this file and missed to remove the default application.css.

Upvotes: 3

Related Questions