From dbf22560c627c9b639d201887c137e822e4464be Mon Sep 17 00:00:00 2001 From: Vijay Dev Date: Sat, 6 Aug 2011 23:53:53 +0530 Subject: 3.1 release notes: organize action_pack notes --- railties/guides/source/3_1_release_notes.textile | 86 ++++++++++++------------ 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/railties/guides/source/3_1_release_notes.textile b/railties/guides/source/3_1_release_notes.textile index b1eaca1ef9..eb4f775ff0 100644 --- a/railties/guides/source/3_1_release_notes.textile +++ b/railties/guides/source/3_1_release_notes.textile @@ -21,8 +21,6 @@ Rails 3.1 requires Ruby 1.8.7 or higher. Support for all of the previous Ruby ve TIP: Note that Ruby 1.8.7 p248 and p249 have marshaling bugs that crash Rails. Ruby Enterprise Edition have these fixed since release 1.8.7-2010.02 though. On the 1.9 front, Ruby 1.9.1 is not usable because it outright segfaults, so if you want to use 1.9.x jump on 1.9.2 for smooth sailing. -TODO. What else? - h3. Creating a Rails 3.1 application @@ -68,7 +66,7 @@ h4. Default JS library is now jQuery jQuery is the default JavaScript library that ships with Rails 3.1. But if you use Prototype, it's simple to switch. -$ ruby /path/to/rails/bin/rails new myapp -j prototype --dev +$ rails new myapp -j prototype h4. Identity Map @@ -103,41 +101,25 @@ h3. Railties * Added Rack::Cache to the default middleware stack. -* TODO Engine related changes +* Engines received a major update - You can mount them at any path, enable assets, run generators etc. h3. Action Pack -h4. Abstract Controller - h4. Action Controller -* Added streaming support, you can enable it with: - - -class PostsController < ActionController::Base - stream :only => :index -end - - -Please read the docs at "ActionController::Streaming":http://edgeapi.rubyonrails.org/classes/ActionController/Streaming.html for more information. - -* Added ActionController::ParamsWrapper to wrap parameters into a nested hash, and will be turned on for JSON request in new applications by default. This can be customized by setting ActionController::Base.wrap_parameters in config/initializer/wrap_parameters.rb. - -h4. Action Dispatch - -* Added ActionDispatch::Request.ignore_accept_header to ignore accept headers. +* A warning is given out if the CSRF token authenticity cannot be verified. -h4. Action View +* Specify +force_ssl+ in a controller to force the browser to transfer data via HTTPS protocol on that particular controller. To limit to specific actions, :only or :except can be used. -* Created ActionView::Renderer and specified an API for ActionView::Context. +* Sensitive query string parameters specified in config.filter_parameters will now be filtered out from the request paths in the log. -TODO +* URL parameters which return nil for +to_param+ are now removed from the query string. -* A warning is given out if the CSRF token authenticity cannot be verified. +* Added ActionController::ParamsWrapper to wrap parameters into a nested hash, and will be turned on for JSON request in new applications by default. This can be customized by setting ActionController::Base.wrap_parameters in config/initializer/wrap_parameters.rb. -* Allows AM/PM format in datetime selectors. +* Added config.action_controller.include_all_helpers. By default helper :all is done in ActionController::Base, which includes all the helpers by default. Setting +include_all_helpers+ to false will result in including only application_helper and the helper corresponding to controller (like foo_helper for foo_controller). -* auto_link has been removed from Rails and extracted into the "rails_autolink gem":https://github.com/tenderlove/rails_autolink +* +url_for+ and named url helpers now accept +:subdomain+ and +:domain+ as options. * Added Base.http_basic_authenticate_with to do simple http basic authentication with a single class method call. @@ -180,31 +162,43 @@ class PostsController < ApplicationController end -* Specify +force_ssl+ in a controller to force the browser to transfer data via HTTPS protocol on that particular controller. To limit to specific actions, :only or :except can be used. +* Added streaming support, you can enable it with: -* Allows FormHelper#form_for to specify the :method as a direct option instead of through the :html hash. form_for(@post, remote: true, method: :delete) instead of form_for(@post, remote: true, html: { method: :delete }) + +class PostsController < ActionController::Base + stream :only => :index +end + -* Provided JavaScriptHelper#j() as an alias for JavaScriptHelper#escape_javascript(). This supersedes the Object#j() method that the JSON gem adds within templates using the JavaScriptHelper. +Please read the docs at "ActionController::Streaming":http://edgeapi.rubyonrails.org/classes/ActionController/Streaming.html for more information. -* Sensitive query string parameters specified in config.filter_parameters will now be filtered out from the request paths in the log. +* The redirect route method now also accepts a hash of options which will only change the parts of the url in question, or an object which responds to call, allowing for redirects to be reused. -* URL parameters which return nil for +to_param+ are now removed from the query string. +h4. Action Dispatch * ActionDispatch::MiddlewareStack now uses composition over inheritance and is no longer an array. -* Added an :authenticity_token option to +form_tag+ for custom handling or to omit the token by passing :authenticity_token => false. +* Added ActionDispatch::Request.ignore_accept_header to ignore accept headers. -* Added HTML5 button_tag helper. +* Added Rack::Cache to the default stack. + +* Moved etag responsibility from ActionDispatch::Response to the middleware stack. + +* Rely on Rack::Session stores API for more compatibility across the Ruby world. This is backwards incompatible since Rack::Session expects #get_session to accept four arguments and requires #destroy_session instead of simply #destroy. * Template lookup now searches further up in the inheritance chain. -* config.action_view.cache_template_loading is brought back which allows to decide whether templates should be cached or not. TODO from which version? +h4. Action View -* url_for and named url helpers now accept :subdomain and :domain as options. +* Added an :authenticity_token option to +form_tag+ for custom handling or to omit the token by passing :authenticity_token => false. -* The redirect route method now also accepts a hash of options which will only change the parts of the url in question, or an object which responds to call, allowing for redirects to be reused. +* Created ActionView::Renderer and specified an API for ActionView::Context. -* Added config.action_controller.include_all_helpers. By default helper :all is done in ActionController::Base, which includes all the helpers by default. Setting +include_all_helpers+ to false will result in including only application_helper and the helper corresponding to controller (like foo_helper for foo_controller). +* In place SafeBuffer mutation is prohibited in Rails 3.1. + +* Added HTML5 button_tag helper. + +* +file_field+ automatically adds :multipart => true to the enclosing form. * Added a convenience idiom to generate HTML5 data-* attributes in tag helpers from a :data hash of options: @@ -215,19 +209,23 @@ tag("div", :data => {:name => 'Stephen', :city_state => %w(Chicago IL)}) Keys are dasherized. Values are JSON-encoded, except for strings and symbols. +* +csrf_meta_tag+ is renamed to +csrf_meta_tags+ and aliases csrf_meta_tag for backwards compatibility. + * The old template handler API is deprecated and the new API simply requires a template handler to respond to call. * rhtml and rxml are finally removed as template handlers. -* Moved etag responsibility from ActionDispatch::Response to the middleware stack. +* config.action_view.cache_template_loading is brought back which allows to decide whether templates should be cached or not. -* Rely on Rack::Session stores API for more compatibility across the Ruby world. This is backwards incompatible since Rack::Session expects #get_session to accept four arguments and requires #destroy_session instead of simply #destroy. +* The submit form helper does not generate an id "object_name_id" anymore. -* file_field automatically adds :multipart => true to the enclosing form. +* Allows FormHelper#form_for to specify the :method as a direct option instead of through the :html hash. form_for(@post, remote: true, method: :delete) instead of form_for(@post, remote: true, html: { method: :delete }) -* +csrf_meta_tag+ is renamed to +csrf_meta_tags+ and aliases csrf_meta_tag for backwards compatibility. +* Provided JavaScriptHelper#j() as an alias for JavaScriptHelper#escape_javascript(). This supersedes the Object#j() method that the JSON gem adds within templates using the JavaScriptHelper. -* Added Rack::Cache to the default stack. +* Allows AM/PM format in datetime selectors. + +* auto_link has been removed from Rails and extracted into the "rails_autolink gem":https://github.com/tenderlove/rails_autolink h3. Active Record @@ -380,6 +378,8 @@ h3. Active Model * ActiveModel::AttributeMethods allows attributes to be defined on demand. +* Added support for selectively enabling and disabling observers. + h3. Active Resource * The default format has been changed to JSON for all requests. If you want to continue to use XML you will need to set self.format = :xml in the class. For example, -- cgit v1.2.3