# File lib/kwartz/binding/rails.rb, line 96
    def handle(directive, elem_info, stmt_list)
      ret = super
      return ret if ret

      d_name = directive.name
      d_arg  = directive.arg
      d_str  = directive.str
      e = elem_info
      attr_info = e.attr_info

      ## parse 'name="user[name]"' or 'id="user_name"'
      case d_name.to_s
      when /(_|\A)radio_button\z/
        add_directive_object_and_method_and_value(d_arg, attr_info)
      when /_field\z/, /_area\z/, /_box\z/, /(_|\A)select\z/, 'input'
        add_directive_object_and_method(d_arg, attr_info)
      end

      ## replace whole element, or only start tag
      replace_elem = d_name.to_s !~ /\Astart_/

      case d_name

      when :text_field, :password_field, :hidden_field
        #add_directive_object_and_method(d_arg, attr_info)
        add_directive_integer_option(d_arg, 'size', attr_info['size'])
        add_directive_integer_option(d_arg, 'maxsize', attr_info['maxsize'])

      when :file_field
        #add_directive_object_and_method(d_arg, attr_info)
        add_directive_integer_option(d_arg, 'size', attr_info['size'])

      when :link_to, :link_to_remote, :link_to_unless_current
        add_directive_content_as_arg(d_arg, elem_info.cont_stmts)

      when :anchor, :anchor_remote
        replace_elem = false

      when :mail_to
        add_directive_content_as_arg(d_arg, elem_info.cont_stmts)
        add_directive_attr_as_arg(d_arg, attr_info, 'href')
        d_arg.sub!(/\A\'mailto:/, "'")

      when :form_tag, :start_form_tag
        add_directive_attr_as_option(d_arg, attr_info, 'action')
        replace_elem = false

      when :text_area
        #add_directive_object_and_method(d_arg, attr_info)
        add_directive_integer_option(d_arg, 'cols', attr_info['cols'])
        add_directive_integer_option(d_arg, 'rows', attr_info['rows'])

      when :submit_tag
        add_directive_attr_as_arg(d_arg, attr_info, 'value')

      when :submit_to_remote
        add_directive_attr_as_arg(d_arg, attr_info, 'value')
        add_directive_attr_as_arg(d_arg, attr_info, 'name')

      when :radio_button
        #add_directive_object_and_method_and_value(d_arg, attr_info)

      when :check_box
        #add_directive_object_and_method(d_arg, attr_info)

      when :select, :collection_select, :country_select, :time_zone_select, :date_select, :datetime_select
        #add_directive_object_and_method(d_arg, attr_info)

      when :image_tag, :link_image_to, :link_to_image
        add_directive_attr_as_arg(d_arg, attr_info, 'src')
        add_directive_str_option(d_arg, 'alt', attr_info['alt'])

      else

      end #case

      ##
      print_directive(elem_info, stmt_list, d_name, d_arg, replace_elem)

      return true      # everytime return true

    end