I found this really helpful. I'm a little surprised at the inconsistency of the asset pipeline deployment though. I guess we're all supposed to use erb templates if we intend to use it and include images in our stylesheets?<p>It strikes me as really strange that they would allow certain functionality which you would get used to in development (images in stylesheets that are automatically matched to assets), then have that completely break when you precompile for production.
Correct me if I'm wrong, but can't you avoid compiling in production if you package everything as part of your CI build? Rather than deploy off of a git clone, you compile at the end of CI, vendorize your gems, generate a tarball, and push that up.<p>This minimizes production dependencies (including the need to compile gems live) as long as your CI environment sufficiently resembles prod.
I couldn't post this in the Facebook comments on the post, but you can fix the Rake 0.9.0 error by putting the following right before load_tasks in your Rakefile:<p><pre><code> module ::MyAppName
class Application
include Rake::DSL
end
end
module ::RakeFileUtils
extend Rake::FileUtilsExt
end
</code></pre>
There's a fix on the way, too.<p>Also, I believe if you're using SASS/SCSS you can interpolate the asset like so, without having to use erb:<p><pre><code> background: #00ff00 url(#{asset_path 'rails.png'}) no-repeat fixed center;</code></pre>
It would be fantastic if someone would release a capistrano/rails plugin that lets you specify when to build the assets and where to send them, for those of us who have static assets on different servers from production Rails apps.