diff options
author | Nicolás Hock Isaza <nhocki@gmail.com> | 2011-09-26 16:34:42 -0500 |
---|---|---|
committer | Nicolás Hock Isaza <nhocki@gmail.com> | 2011-09-26 16:34:42 -0500 |
commit | 94ed1e24956c5d6d3482517d10134938d37e837d (patch) | |
tree | ebeb710574dc330cd67d72bd13b22f05a95ebe34 /railties | |
parent | 80f1d402e5aa1c303f448a2fadc6df1b1f49cddf (diff) | |
download | rails-94ed1e24956c5d6d3482517d10134938d37e837d.tar.gz rails-94ed1e24956c5d6d3482517d10134938d37e837d.tar.bz2 rails-94ed1e24956c5d6d3482517d10134938d37e837d.zip |
Alert about the new Bundler require for asset gems
If you are coming from a Rails 3.0 application, you won't have
the correct Bundler require statement.
This will cause the gems under the `assets` group not to be available
in the development and production environment.
I think this is related to the issue #39 in rails-sass
https://github.com/rails/sass-rails/issues/39
Diffstat (limited to 'railties')
-rw-r--r-- | railties/guides/source/asset_pipeline.textile | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/railties/guides/source/asset_pipeline.textile b/railties/guides/source/asset_pipeline.textile index 586a9f46eb..3428c09bcd 100644 --- a/railties/guides/source/asset_pipeline.textile +++ b/railties/guides/source/asset_pipeline.textile @@ -247,9 +247,9 @@ h4. Preprocessing The file extensions used on an asset determine what preprocessing is applied. When a controller or a scaffold is generated with the default Rails gemset, a CoffeeScript file and a SCSS file are generated in place of a regular JavaScript and CSS file. The example used before was a controller called "projects", which generated an +app/assets/javascripts/projects.js.coffee+ and a +app/assets/stylesheets/projects.css.scss+ file. When these files are requested, they are processed by the processors provided by the +coffee-script+ and +sass-rails+ gems and then sent back to the browser as JavaScript and CSS respectively. - Additional layers of pre-processing can be requested by adding other extensions, where each extension is processed in a right-to-left manner. These should be used in the order the processing should be applied. For example, a stylesheet called +app/assets/stylesheets/projects.css.scss.erb+ is first processed as ERB, then SCSS and finally served as CSS. The same applies to a JavaScript file -- +app/assets/javascripts/projects.js.coffee.erb+ is processed as ERB, CoffeeScript and served as JavaScript. + Keep in mind that the order of these pre-processors is important. For example, if you called your JavaScript file +app/assets/javascripts/projects.js.erb.coffee+ then it is processed with the CoffeeScript interpreter first, which wouldn't understand ERB and therefore you would run into problems. h3. In Development @@ -636,3 +636,22 @@ group :assets do gem 'uglifier' end </plain> + +If you use the +assets+ group with Bundler, please make sure that your +config/application.rb+ has the following Bundler require statement. + +<ruby> +if defined?(Bundler) + # If you precompile assets before deploying to production, use this line + Bundler.require *Rails.groups(:assets => %w(development test)) + # If you want your assets lazily compiled in production, use this line + # Bundler.require(:default, :assets, Rails.env) +end +</ruby> + +Instead of the old Rails 3.0 one + +<ruby> +# If you have a Gemfile, require the gems listed there, including any gems +# you've limited to :test, :development, or :production. +Bundler.require(:default, Rails.env) if defined?(Bundler) +</ruby>
\ No newline at end of file |