Changes:
* Backport: allow array and hash query parameters. Array route parameters are
converted/to/a/path as before. #6765, #7047, #7462 [bgipsy, Jeremy McAnally,
Dan Kubb, brendan, Diego Algorta Casamayou]
* Fix in place editor's setter action with non-string fields. #7418 [Andreas]
* Only accept session ids from cookies, prevents session fixation attacks.
* Change the resource seperator from ; to / change the generated routes to use
the new-style named routes. e.g. new_group_user_path(@group) instead of
group_new_user_path(@group). [pixeltrix]
* Integration tests: introduce methods for other HTTP methods. #6353 [caboose]
* Improve performance of action caching. Closes#8231 [skaes]
* Fix errors with around_filters which do not yield, restore 1.1 behaviour
with after filters. Closes#8891 [skaes]
* Allow you to delete cookies with options. Closes#3685
* Deprecate pagination. Install the classic_pagination plugin for forward
compatibility, or move to the superior will_paginate plugin. #8157
* Fix filtered parameter logging with nil parameter values. #8422 [choonkeat]
* Integration tests: alias xhr to xml_http_request and add a request_method
argument instead of always using POST. #7124
* Document caches_action. #5419 [Jarkko Laine]
* observe_form always sends the serialized form. #5271
* Update UrlWriter to accept :anchor parameter. Closes#6771. [octopod]
* Replace the current block/continuation filter chain handling by an
implementation based on a simple loop. Closes#8226 [Stefan Kaes]
* Return the string representation from an Xml Builder when rendering a
partial. #5044 [tpope]
* Cleaned up, corrected, and mildly expanded ActionPack documentation. Closes
#7190 [jeremymcanally]
* Small collection of ActionController documentation cleanups. Closes#7319
* Performance: patch cgi/session/pstore to require digest/md5 once rather than
per #initialize. #7583 [Stefan Kaes]
* Deprecation: verification with :redirect_to => :named_route shouldn't be
deprecated. #7525 [Justin French]
Changes:
* Apply [5709] to stable.
* session_enabled? works with session :off.
* Performance: patch cgi/session to require digest/md5 once rather than per
#cre ate_new_id.
Action Pack splits the response to a web request into a controller
part (performing the logic) and a view part (rendering a template).
This two-step approach is known as an action, which will normally
create, read, update, or delete (CRUD for short) some sort of model
part (often backed by a database) before choosing either to render a
template or redirecting to another action.
Action Pack implements these actions as public methods on Action
Controllers and uses Action Views to implement the template rendering.
Action Controllers are then responsible for handling all the actions
relating to a certain part of an application. This grouping usually
consists of actions for lists and for CRUDs revolving around a single
(or a few) model objects. So ContactController would be responsible
for listing contacts, creating, deleting, and updating contacts. A
WeblogController could be responsible for both posts and comments.
Action View templates are written using embedded Ruby in tags mingled
in with the HTML. To avoid cluttering the templates with code, a
bunch of helper classes provide common behavior for forms, dates, and
strings. And it's easy to add specific helpers to keep the separation
as the application evolves.