diff options
| author | José Valim <jose.valim@gmail.com> | 2009-11-23 22:04:18 -0200 |
|---|---|---|
| committer | José Valim <jose.valim@gmail.com> | 2009-11-23 22:04:18 -0200 |
| commit | 4ff66b6b85d1351e447f18c027f1dba6bcf23a7b (patch) | |
| tree | a46d6c65c5c67964bc8658bf991157f0f8056f55 /actionpack/lib/action_view | |
| parent | 01ae99c681d31803f3a29f8305c9a041aa456660 (diff) | |
| parent | 934bb012ba3f1da5cd181ae5c2d84f697a3c58a1 (diff) | |
| download | rails-4ff66b6b85d1351e447f18c027f1dba6bcf23a7b.tar.gz rails-4ff66b6b85d1351e447f18c027f1dba6bcf23a7b.tar.bz2 rails-4ff66b6b85d1351e447f18c027f1dba6bcf23a7b.zip | |
Merge branch 'master' of git://github.com/rails/rails
Diffstat (limited to 'actionpack/lib/action_view')
| -rw-r--r-- | actionpack/lib/action_view/helpers/form_helper.rb | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb index c46b39fc23..d0c66eda60 100644 --- a/actionpack/lib/action_view/helpers/form_helper.rb +++ b/actionpack/lib/action_view/helpers/form_helper.rb @@ -963,7 +963,7 @@ module ActionView end end - (field_helpers - %w(label check_box radio_button fields_for)).each do |selector| + (field_helpers - %w(label check_box radio_button fields_for hidden_field)).each do |selector| src = <<-end_src def #{selector}(method, options = {}) # def text_field(method, options = {}) @template.send( # @template.send( @@ -1022,6 +1022,11 @@ module ActionView def radio_button(method, tag_value, options = {}) @template.radio_button(@object_name, method, tag_value, objectify_options(options)) end + + def hidden_field(method, options = {}) + @emitted_hidden_id = true if method == :id + @template.hidden_field(@object_name, method, objectify_options(options)) + end def error_message_on(method, *args) @template.error_message_on(@object, method, *args) @@ -1035,6 +1040,10 @@ module ActionView @template.submit_tag(value, options.reverse_merge(:id => "#{object_name}_submit")) end + def emitted_hidden_id? + @emitted_hidden_id + end + private def objectify_options(options) @default_options.merge(options.merge(:object => @object)) @@ -1069,8 +1078,8 @@ module ActionView @template.fields_for(name, object, *args, &block) else @template.fields_for(name, object, *args) do |builder| - @template.concat builder.hidden_field(:id) block.call(builder) + @template.concat builder.hidden_field(:id) unless builder.emitted_hidden_id? end end end |
