Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Asset pipeline is broken: Not compiling on the fly css and js files

I started a new Rails 3.2.5 projects and the asset pipeline is not working anymore. CSS and Javascript file are not compiling anymore.

This is the output from the logs when try to generate the asset:

    Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2012-06-16 23:59:11 -0700
Served asset /application.css - 200 OK (0ms)
[2012-06-16 23:59:11] ERROR NoMethodError: undefined method `each' for nil:NilClass
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rack-1.3.6/lib/rack/handler/webrick.rb:71:in `service'
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/webrick/server.rb:

Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2012-06-16 23:59:11 -0700
Served asset /application.js - 200 OK (0ms)
[2012-06-16 23:59:11] ERROR NoMethodError: undefined method `each' for nil:NilClass
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rack-1.3.6/lib/rack/handler/webrick.rb:71:in `service'
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'
183:in `block in start_thread'

Update:

<!DOCTYPE html>
<html>
<head>
  <title>Shorai</title>
  <%= csrf_meta_tags %>
</head>
<body id=<%= params[:controller].sub('_controller', '') %>>

  <% if current_user %>
    <%= current_user.name %>
    <%= link_to "Log out", signout_path %>
  <% else %>
    <%= link_to "Sign in", "/auth/37signals" %>
  <% end %>

  <%= yield %>
  
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
</body>
</html>

Update2:

application.scss

 *
 * 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_tree .
 */

update3: http://f.imgtmp.com/Onpqv.png

I don't know what is causing this, anyone has an idea? Greg

like image 224
Gregory Avatar asked Jun 17 '12 07:06

Gregory


3 Answers

I got this error when I had caching enabled (in development mode) with memcached storage, but the memcached process was not running (Rails 3.2.8, Win7).

The solution therefore was to simply start memcached and reboot the Rails server.

like image 104
bass-t Avatar answered Nov 16 '22 13:11

bass-t


I had a similar problem after activating memcache as cache store (config.cache_store = :dalli_store). I could solve it by deactivating Rack::Cache middleware explicitly (config.action_dispatch.rack_cache = nil), or by setting

config.action_dispatch.rack_cache = {
  :metastore    => Dalli::Client.new,
  :entitystore  => 'file:tmp/cache/rack/body',
  :allow_reload => false
}

See https://github.com/rails/rails/issues/8366.

like image 3
lacco Avatar answered Nov 16 '22 12:11

lacco


I had a similar problem and I solved it by disabling cache in dev environment. I think cache doesn't play well with asset on-the-fly compilation

like image 2
systho Avatar answered Nov 16 '22 12:11

systho