Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

added documentation for :as and :object in PartialRenderer

Signed-off-by: Mikel Lindsaar <raasdnil@gmail.com>
  • Loading branch information...
commit 02656ac3978fccb3091b86175232c7232b6cf210 1 parent bca9b84
@collin collin authored mikel committed
Showing with 32 additions and 0 deletions.
  1. +32 −0 actionpack/lib/action_view/render/partials.rb
View
32 actionpack/lib/action_view/render/partials.rb
@@ -26,6 +26,36 @@ module ActionView
# This would first render "advertiser/_account.erb" with @buyer passed in as the local variable +account+, then
# render "advertiser/_ad.erb" and pass the local variable +ad+ to the template for display.
#
+ # == The :as and :object options
+ #
+ # By default PartialRenderer uses the template name for the local name of the object passed into the template.
+ # These examples are effectively the same:
+ #
+ # <%= render :partial => "contract", :locals => { :contract => @contract } %>
+ #
+ # <%= render :partial => "contract" %>
+ #
+ # By specifying the :as option we can change the way the local variable is namedin the template.
+ # These examples are effectively the same:
+ #
+ # <%= render :partial => "contract", :as => :agreement
+ #
+ # <%= render :partial => "contract", :locals => { :agreement => @contract }
+ #
+ # The :object option can be used to directly specify which object is rendered into the partial.
+ #
+ # Revisiting a previous example we could have written this code.
+ #
+ # <%= render :partial => "account", :object => @buyer %>
+ #
+ # <% for ad in @advertisements %>
+ # <%= render :partial => "ad", :object => ad %>
+ # <% end %>
+ #
+ # The :object and :as options can be used together. We might have a partial which we have named genericly,
+ # such as 'form'. Using :object and :as together helps us.
+ #
+ # <%= render :partial => "form", :object => @contract, :as => :contract %>
# == Rendering a collection of partials
#
# The example of partial use describes a familiar pattern where a template needs to iterate over an array and
@@ -39,6 +69,8 @@ module ActionView
# iteration counter will automatically be made available to the template with a name of the form
# +partial_name_counter+. In the case of the example above, the template would be fed +ad_counter+.
#
+ # The :as option may be used when rendering partials.
+ #
# NOTE: Due to backwards compatibility concerns, the collection can't be one of hashes. Normally you'd also
# just keep domain objects, like Active Records, in there.
#
Please sign in to comment.
Something went wrong with that request. Please try again.