From 115a37d9c1b2d8868a188a23528e3397f6761971 Mon Sep 17 00:00:00 2001 From: Carlos Antonio da Silva Date: Sat, 5 Jan 2013 12:21:34 -0200 Subject: Do not call fields_for from form_for, to avoid instantiating two builders --- actionpack/lib/action_view/helpers/form_helper.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'actionpack/lib/action_view/helpers') diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb index 50d3abd2fb..28ff75fdbe 100644 --- a/actionpack/lib/action_view/helpers/form_helper.rb +++ b/actionpack/lib/action_view/helpers/form_helper.rb @@ -388,9 +388,9 @@ module ActionView # In many cases you will want to wrap the above in another helper, so you # could do something like the following: # - # def labelled_form_for(record_or_name_or_array, *args, &proc) + # def labelled_form_for(record_or_name_or_array, *args, &block) # options = args.extract_options! - # form_for(record_or_name_or_array, *(args << options.merge(builder: LabellingFormBuilder)), &proc) + # form_for(record_or_name_or_array, *(args << options.merge(builder: LabellingFormBuilder)), &block) # end # # If you don't need to attach a form to a model instance, then check out @@ -412,7 +412,7 @@ module ActionView # <%= form_for @invoice, url: external_url, authenticity_token: false do |f| # ... # <% end %> - def form_for(record, options = {}, &proc) + def form_for(record, options = {}, &block) raise ArgumentError, "Missing block" unless block_given? options[:html] ||= {} @@ -434,9 +434,9 @@ module ActionView options[:html][:authenticity_token] = options.delete(:authenticity_token) builder = options[:parent_builder] = instantiate_builder(object_name, object, options) - fields_for = fields_for(object_name, object, options, &proc) + output = capture(builder, &block) default_options = builder.form_tag_attributes - form_tag(options[:url] || {}, default_options) { fields_for } + form_tag(options[:url] || {}, default_options) { output } end def apply_form_for_options!(record, object, options) #:nodoc: -- cgit v1.2.3