The docs say this about content_tag:

==
Returns an HTML block tag of type name surrounding the content.
==

Ok, not too helpful unless you understand the subtleties of css/html 
speak.  But the docs provide some examples that should help clarify 
things:

content_tag(:p, "Hello world!")
 # => <p>Hello world!</p>

Presumably, the html is a String--the return value doesn't look like a 
number or a method.

As for how blocks work: a block is really just a function.  You write a 
block in your code immediately after calling a method, and the method 
captures the block in a variable.  Then at some point the method calls 
the block.  Here is an example:


def some_method(str, &func)
  if block_given?
    puts func.call(str)
  else
    puts str
  end
end

some_method("John") do |name|
    "Hello #{name}"
end

--output:--
Hello John

The block is this part:

                                      do |name|
    "Hello #{name}"
end

which can also be written as:

{ |name| "Hello #{name"}

-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to