Method: ActionView::Helpers::InstanceTagMethods#initialize

Defined in:
lib/action_view/helpers/form_helper.rb

#initialize(object_name, method_name, template_object, object = nil) ⇒ Object



863
864
865
866
867
868
869
870
871
872
873
874
# File 'lib/action_view/helpers/form_helper.rb', line 863

def initialize(object_name, method_name, template_object, object = nil)
  @object_name, @method_name = object_name.to_s.dup, method_name.to_s.dup
  @template_object = template_object
  @object = object
  if @object_name.sub!(/\[\]$/,"") || @object_name.sub!(/\[\]\]$/,"]")
    if (object ||= @template_object.instance_variable_get("@#{Regexp.last_match.pre_match}")) && object.respond_to?(:to_param)
      @auto_index = object.to_param
    else
      raise ArgumentError, "object[] naming but object param and @object var don't exist or don't respond to to_param: #{object.inspect}"
    end
  end
end