One that has recently been an issue for us is a cascade of behaviours that individually are all perfectly reasonable but, when combined, leave you with major headaches.
When you compile your assets with you get (as expected) your files, in compiled, minified form in the folder
Files in public/assets are served in preference to anything produced by the Rails stack (they shadow your controllers). Perfect behaviour for caching, disabling certain routes, etc. and makes sure you are familiar with how things would act with a web server in front of Rails.
If you're running automated tests against everything (using tools like capybara-webkit or poltergeist) then the situation is slightly changed. In the test environment, Rails doesn't serve separate assets in a single file. But the file will still be served from public/assets in preference to the Rails stack, so your tests will run against the last version you precompiled. Again, this can be very confusing and even if you're aware of the previous behaviour it can take you a while to work out why tests that run fine on one machine (with no precompiled assets) don't work on another (where you precompiled assets last week for a demo and haven't cleaned them out).
Is there a solution? Yes, there's a very simple one. Simply configure Rails to serve your assets from a different location depending on environment.
Add the line to
config/environments/development.rbfile and a similar one to
and the problem is now gone and you can compile assets on any machine without fear of causing issues if you forget to clean them up.