title: Implicit argument passing of super from method defined by define_method() is not supported
body: <p>In "<em>Agile Web Development with Rails</em>" (third edition) page 537 - 541 it has "Custom Form Builders" code as follows:</p>
  
  <pre><code>  class TaggedBuilder &lt; ActionView::Helpers::FormBuilder
      # &lt;p&gt; # &lt;label for="product_description"&gt;Description&lt;/label&gt;&lt;br/&gt; # &lt;%= form.text_area 'description' %&gt; #&lt;/p&gt;
      def self.create_tagged_field(method_name) 
        define_method(method_name) do |label, *args|
          @template.content_tag("p" , @template.content_tag("label" , label.to_s.humanize, 
          :for =&gt; "#{@object_name}_#{label}") + "&lt;br/&gt;" + super)
        end
      end
      field_helpers.each do |name| 
        create_tagged_field(name)
      end 
    end
  </code></pre>
  
  <p>This code doesn't work with Ruby 1.9.1. It returns error as follows:</p>
  
  <p><code>implicit argument passing of super from method defined by define_method() is not supported. Specify all arguments explicitly. (ActionView::TemplateError)</code></p>
  
  <p>My question is: What should I change in the code to fix this?</p>