From 0522b26cdf15ba1b5c89fc64f9069e1a13cafcff Mon Sep 17 00:00:00 2001 From: Xavier Noria Date: Mon, 13 Sep 2010 23:10:43 +0200 Subject: reviews 02656ac --- actionpack/lib/action_view/render/partials.rb | 35 +++++++++++++-------------- 1 file changed, 17 insertions(+), 18 deletions(-) (limited to 'actionpack/lib/action_view') diff --git a/actionpack/lib/action_view/render/partials.rb b/actionpack/lib/action_view/render/partials.rb index bfec3d36b0..cc9b444837 100644 --- a/actionpack/lib/action_view/render/partials.rb +++ b/actionpack/lib/action_view/render/partials.rb @@ -28,34 +28,33 @@ module ActionView # # == 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 } %> - # + # By default ActionView::Partials::PartialRenderer has its object in a local variable with the same + # name as the template. So, given + # # <%= 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 } + # within contract we'll get @contract in the local variable +contract+, as if we had written + # + # <%= render :partial => "contract", :locals => { :contract => @contract } %> + # + # With the :as option we can specify a different name for said local variable. For example, if we + # wanted it to be +agreement+ instead of +contract+ we'd do: # - # The :object option can be used to directly specify which object is rendered into the partial. + # <%= render :partial => "contract", :as => :agreement %> + # + # The :object option can be used to directly specify which object is rendered into the partial; + # useful when the template's object is elsewhere, in a different ivar or in a local variable for instance. # - # Revisiting a previous example we could have written this code. + # 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 %> + # + # The :object and :as options can be used together. + # # == Rendering a collection of partials # # The example of partial use describes a familiar pattern where a template needs to iterate over an array and -- cgit v1.2.3