diff options
author | Guillermo Iguaran <guilleiguaran@gmail.com> | 2013-12-19 17:39:53 -0800 |
---|---|---|
committer | Guillermo Iguaran <guilleiguaran@gmail.com> | 2013-12-19 17:39:53 -0800 |
commit | d6ac7d72c5c6e5a7fe4eed3566604a4b54c15bde (patch) | |
tree | 160c3cdcb5c800a705fd81c777119451fe94e3b3 | |
parent | 6de454fb05c66fe9db73516a9a5b5c31373977b2 (diff) | |
parent | 2ff2f1ba529ffecb879c723e9a361bacb9e1ea24 (diff) | |
download | rails-d6ac7d72c5c6e5a7fe4eed3566604a4b54c15bde.tar.gz rails-d6ac7d72c5c6e5a7fe4eed3566604a4b54c15bde.tar.bz2 rails-d6ac7d72c5c6e5a7fe4eed3566604a4b54c15bde.zip |
Merge pull request #13326 from schneems/schneems/add-asset-flag
Flag `config.assets.raise_runtime_errors` in dev
-rw-r--r-- | guides/source/asset_pipeline.md | 27 | ||||
-rw-r--r-- | railties/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt | 5 |
2 files changed, 32 insertions, 0 deletions
diff --git a/guides/source/asset_pipeline.md b/guides/source/asset_pipeline.md index 39448e92d5..77189e1442 100644 --- a/guides/source/asset_pipeline.md +++ b/guides/source/asset_pipeline.md @@ -577,6 +577,33 @@ would generate this HTML: The `body` param is required by Sprockets. +### Runtime Error Checking + +By default the asset pipeline will check for potential errors in development mode during +runtime. To disable this behavior you can set: + +```ruby +config.assets.raise_runtime_errors = false +``` + +When `raise_runtime_errors` is set to `false` sprockets will not check that dependencies of assets are declared properly. Here is a scenario where you must tell the asset pipeline about a dependency: + +If you have `application.css.erb` that references `logo.png` like this: + +```css +#logo { background: url(<%= asset_data_uri 'logo.png' %>) } +``` + +Then you must declare that `logo.png` is a dependency of `application.css.erb`, so when the image gets re-compiled, the css file does as well. You can do this using the `//= depend_on_asset` declaration: + +```css +//= depend_on_asset "logo.png" +#logo { background: url(<%= asset_data_uri 'logo.png' %>) } +``` + +Without this declaration you may experience strange behavior when pushing to production that is difficult to debug. When you have `raise_runtime_errors` set to `true`, dependencies will be checked at runtime so you can ensure that all dependencies are met. + + ### Turning Debugging Off You can turn off debug mode by updating `config/environments/development.rb` to diff --git a/railties/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt b/railties/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt index b724d468a2..cce4743a33 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +++ b/railties/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt @@ -29,5 +29,10 @@ Rails.application.configure do # This option may cause significant delays in view rendering with a large # number of complex assets. config.assets.debug = true + + # Adds additional error checking when serving assets at runtime. + # Checks for improperly declared sprockets dependencies. + # Raises helpful error messages. + config.assets.raise_runtime_errors = true <%- end -%> end |