Class: ActionView::Helpers::FormBuilder
- Defined in:
- lib/action_view/helpers/form_helper.rb,
lib/action_view/helpers/date_helper.rb,
lib/action_view/helpers/form_options_helper.rb
Overview
:nodoc:
Instance Attribute Summary collapse
-
#object ⇒ Object
Returns the value of attribute object.
-
#object_name ⇒ Object
Returns the value of attribute object_name.
-
#options ⇒ Object
Returns the value of attribute options.
Instance Method Summary collapse
- #check_box(method, options = {}, checked_value = "1", unchecked_value = "0") ⇒ Object
- #collection_select(method, collection, value_method, text_method, options = {}, html_options = {}) ⇒ Object
- #date_select(method, options = {}, html_options = {}) ⇒ Object
- #datetime_select(method, options = {}, html_options = {}) ⇒ Object
- #error_message_on(method, *args) ⇒ Object
- #error_messages(options = {}) ⇒ Object
- #fields_for(record_or_name_or_array, *args, &block) ⇒ Object
- #grouped_collection_select(method, collection, group_method, group_label_method, option_key_method, option_value_method, options = {}, html_options = {}) ⇒ Object
-
#initialize(object_name, object, template, options, proc) ⇒ FormBuilder
constructor
A new instance of FormBuilder.
- #label(method, text = nil, options = {}) ⇒ Object
- #radio_button(method, tag_value, options = {}) ⇒ Object
- #select(method, choices, options = {}, html_options = {}) ⇒ Object
- #submit(value = "Save changes", options = {}) ⇒ Object
- #time_select(method, options = {}, html_options = {}) ⇒ Object
- #time_zone_select(method, priority_zones = nil, options = {}, html_options = {}) ⇒ Object
Constructor Details
#initialize(object_name, object, template, options, proc) ⇒ FormBuilder
Returns a new instance of FormBuilder.
920 921 922 923 924 925 926 927 928 929 930 931 |
# File 'lib/action_view/helpers/form_helper.rb', line 920 def initialize(object_name, object, template, , proc) @nested_child_index = {} @object_name, @object, @template, @options, @proc = object_name, object, template, , proc @default_options = @options ? @options.slice(:index) : {} if @object_name.to_s.match(/\[\]$/) if object ||= @template.instance_variable_get("@#{Regexp.last_match.pre_match}") and 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 |
Instance Attribute Details
#object ⇒ Object
Returns the value of attribute object.
918 919 920 |
# File 'lib/action_view/helpers/form_helper.rb', line 918 def object @object end |
#object_name ⇒ Object
Returns the value of attribute object_name.
918 919 920 |
# File 'lib/action_view/helpers/form_helper.rb', line 918 def object_name @object_name end |
#options ⇒ Object
Returns the value of attribute options.
918 919 920 |
# File 'lib/action_view/helpers/form_helper.rb', line 918 def @options end |
Instance Method Details
#check_box(method, options = {}, checked_value = "1", unchecked_value = "0") ⇒ Object
985 986 987 |
# File 'lib/action_view/helpers/form_helper.rb', line 985 def check_box(method, = {}, checked_value = "1", unchecked_value = "0") @template.check_box(@object_name, method, (), checked_value, unchecked_value) end |
#collection_select(method, collection, value_method, text_method, options = {}, html_options = {}) ⇒ Object
587 588 589 |
# File 'lib/action_view/helpers/form_options_helper.rb', line 587 def collection_select(method, collection, value_method, text_method, = {}, = {}) @template.collection_select(@object_name, method, collection, value_method, text_method, (), @default_options.merge()) end |
#date_select(method, options = {}, html_options = {}) ⇒ Object
963 964 965 |
# File 'lib/action_view/helpers/date_helper.rb', line 963 def date_select(method, = {}, = {}) @template.date_select(@object_name, method, (), ) end |
#datetime_select(method, options = {}, html_options = {}) ⇒ Object
971 972 973 |
# File 'lib/action_view/helpers/date_helper.rb', line 971 def datetime_select(method, = {}, = {}) @template.datetime_select(@object_name, method, (), ) end |
#error_message_on(method, *args) ⇒ Object
993 994 995 |
# File 'lib/action_view/helpers/form_helper.rb', line 993 def (method, *args) @template.(@object, method, *args) end |
#error_messages(options = {}) ⇒ Object
997 998 999 |
# File 'lib/action_view/helpers/form_helper.rb', line 997 def ( = {}) @template.(@object_name, ()) end |
#fields_for(record_or_name_or_array, *args, &block) ⇒ Object
946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 |
# File 'lib/action_view/helpers/form_helper.rb', line 946 def fields_for(record_or_name_or_array, *args, &block) if .has_key?(:index) index = "[#{[:index]}]" elsif defined?(@auto_index) self.object_name = @object_name.to_s.sub(/\[\]$/,"") index = "[#{@auto_index}]" else index = "" end if [:builder] args << {} unless args.last.is_a?(Hash) args.last[:builder] ||= [:builder] end case record_or_name_or_array when String, Symbol if nested_attributes_association?(record_or_name_or_array) return fields_for_with_nested_attributes(record_or_name_or_array, args, block) else name = "#{object_name}#{index}[#{record_or_name_or_array}]" end when Array object = record_or_name_or_array.last name = "#{object_name}#{index}[#{ActionController::RecordIdentifier.singular_class_name(object)}]" args.unshift(object) else object = record_or_name_or_array name = "#{object_name}#{index}[#{ActionController::RecordIdentifier.singular_class_name(object)}]" args.unshift(object) end @template.fields_for(name, *args, &block) end |
#grouped_collection_select(method, collection, group_method, group_label_method, option_key_method, option_value_method, options = {}, html_options = {}) ⇒ Object
591 592 593 |
# File 'lib/action_view/helpers/form_options_helper.rb', line 591 def grouped_collection_select(method, collection, group_method, group_label_method, option_key_method, option_value_method, = {}, = {}) @template.grouped_collection_select(@object_name, method, collection, group_method, group_label_method, option_key_method, option_value_method, (), @default_options.merge()) end |
#label(method, text = nil, options = {}) ⇒ Object
981 982 983 |
# File 'lib/action_view/helpers/form_helper.rb', line 981 def label(method, text = nil, = {}) @template.label(@object_name, method, text, ()) end |
#radio_button(method, tag_value, options = {}) ⇒ Object
989 990 991 |
# File 'lib/action_view/helpers/form_helper.rb', line 989 def (method, tag_value, = {}) @template.(@object_name, method, tag_value, ()) end |
#select(method, choices, options = {}, html_options = {}) ⇒ Object
583 584 585 |
# File 'lib/action_view/helpers/form_options_helper.rb', line 583 def select(method, choices, = {}, = {}) @template.select(@object_name, method, choices, (), @default_options.merge()) end |
#submit(value = "Save changes", options = {}) ⇒ Object
1001 1002 1003 |
# File 'lib/action_view/helpers/form_helper.rb', line 1001 def submit(value = "Save changes", = {}) @template.submit_tag(value, .reverse_merge(:id => "#{object_name}_submit")) end |
#time_select(method, options = {}, html_options = {}) ⇒ Object
967 968 969 |
# File 'lib/action_view/helpers/date_helper.rb', line 967 def time_select(method, = {}, = {}) @template.time_select(@object_name, method, (), ) end |
#time_zone_select(method, priority_zones = nil, options = {}, html_options = {}) ⇒ Object
595 596 597 |
# File 'lib/action_view/helpers/form_options_helper.rb', line 595 def time_zone_select(method, priority_zones = nil, = {}, = {}) @template.time_zone_select(@object_name, method, priority_zones, (), @default_options.merge()) end |