aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/helpers/capture_helper.rb
diff options
context:
space:
mode:
authorJeroen van Dijk <jeroen@jeevidee.nl>2010-05-15 15:33:30 +0200
committerJeroen van Dijk <jeroen@jeevidee.nl>2010-05-15 15:33:30 +0200
commitf45714bb4a45097834dda2da03f86697ee667ec1 (patch)
tree569e9163f274b196db6b8e2adda6b66b4f7fde8c /actionpack/lib/action_view/helpers/capture_helper.rb
parenta447f76fe59bda978ed19a5ccf5513edb0be2be1 (diff)
downloadrails-f45714bb4a45097834dda2da03f86697ee667ec1.tar.gz
rails-f45714bb4a45097834dda2da03f86697ee667ec1.tar.bz2
rails-f45714bb4a45097834dda2da03f86697ee667ec1.zip
Added extra documentation for content_for helper
Diffstat (limited to 'actionpack/lib/action_view/helpers/capture_helper.rb')
-rw-r--r--actionpack/lib/action_view/helpers/capture_helper.rb31
1 files changed, 25 insertions, 6 deletions
diff --git a/actionpack/lib/action_view/helpers/capture_helper.rb b/actionpack/lib/action_view/helpers/capture_helper.rb
index 20598237e9..edc6afc622 100644
--- a/actionpack/lib/action_view/helpers/capture_helper.rb
+++ b/actionpack/lib/action_view/helpers/capture_helper.rb
@@ -41,8 +41,11 @@ module ActionView
end
# Calling content_for stores a block of markup in an identifier for later use.
- # You can make subsequent calls to the stored content in other templates or the layout
- # by passing the identifier as an argument to <tt>yield</tt>.
+ # You can make subsequent calls to the stored content in other templates, helper modules
+ # or the layout by passing the identifier as an argument to <tt>content_for</tt>.
+ #
+ # Note: <tt>yield</tt> can still be used to retrieve the stored content, but calling
+ # <tt>yield</tt> doesn't work in helper modules, while <tt>content_for</tt> does.
#
# ==== Examples
#
@@ -50,11 +53,27 @@ module ActionView
# alert('You are not authorized to do that!')
# <% end %>
#
- # You can then use <tt>yield :not_authorized</tt> anywhere in your templates.
+ # You can then use <tt>content_for :not_authorized</tt> anywhere in your templates.
+ #
+ # <%= content_for :not_authorized if current_user.nil? %>
+ #
+ # This is equivalent to:
#
# <%= yield :not_authorized if current_user.nil? %>
#
- # You can also use this syntax alongside an existing call to <tt>yield</tt> in a layout. For example:
+ # <tt>content_for</tt>, however, can also be used in helper modules.
+ #
+ # module StorageHelper
+ # def stored_content
+ # content_for(:storage) || "Your storage is empty"
+ # end
+ # end
+ #
+ # This helper works just like normal helpers.
+ #
+ # <%= stored_content %>
+ #
+ # You can use the <tt>yield</tt> syntax alongside an existing call to <tt>yield</tt> in a layout. For example:
#
# <%# This is the layout %>
# <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@@ -67,7 +86,7 @@ module ActionView
# </body>
# </html>
#
- # And now, we'll create a view that has a content_for call that
+ # And now, we'll create a view that has a <tt>content_for</tt> call that
# creates the <tt>script</tt> identifier.
#
# <%# This is our view %>
@@ -103,7 +122,7 @@ module ActionView
#
# Then, in another template or layout, this code would render both links in order:
#
- # <ul><%= yield :navigation %></ul>
+ # <ul><%= content_for :navigation %></ul>
#
# Lastly, simple content can be passed as a parameter:
#