Changeset 749

Show
Ignore:
Timestamp:
10/14/07 19:57:23 (1 year ago)
Author:
wyca..@gmail.com
Message:

support @obj | :obj for form helpers

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • plugins/merb_helpers/lib/form_helpers.rb

    r746 r749  
    1818      end 
    1919       
     20      def obj_from_ivar_or_sym(obj) 
     21        obj.is_a?(Symbol) ? instance_variable_get("@#{obj}") : obj 
     22      end 
     23       
    2024      def form_tag(attrs = {}, &block) 
    2125        attrs.merge!( :enctype => "multipart/form-data" ) if attrs.delete(:multipart) 
     
    2832       
    2933      def form_for(obj, attrs={}, &block) 
    30         fake_form_method = set_form_method(attrs, instance_variable_get("@#{obj}")) 
     34        obj = obj_from_ivar_or_sym(obj) 
     35        fake_form_method = set_form_method(attrs, obj) 
    3136        concat(open_tag("form", attrs), block.binding) 
    3237        concat(generate_fake_form_method(fake_form_method), block.binding) if fake_form_method 
     
    3641       
    3742      def fields_for(obj, attrs=nil, &block) 
    38         old_obj, @_obj = @_obj, instance_variable_get("@#{obj}") 
     43        obj = obj_from_ivar_or_sym(obj) 
     44        old_obj, @_obj = @_obj, obj 
    3945        @_object_name = "#{@_obj.class}".snake_case 
    4046        old_block, @_block = @_block, block