From c8f586c11094f3a9c9fd99dab89453c3828b9d94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Mendon=C3=A7a=20Fran=C3=A7a?= Date: Wed, 26 Dec 2012 23:33:43 -0300 Subject: [PATCH] Override only the component rendering method. --- Gemfile.lock | 2 +- .../action_view_extensions/builder.rb | 30 ++----------------- 2 files changed, 3 insertions(+), 29 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index d3a442f1..50093949 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,6 @@ GIT remote: git://github.com/rails/rails.git - revision: ceedec7edcadbad824f58e84bc2c1eddbe8539ce + revision: 42d9b480121e15a15cddd2015a1e60a0f9e0f953 branch: master specs: actionpack (4.0.0.beta) diff --git a/lib/simple_form/action_view_extensions/builder.rb b/lib/simple_form/action_view_extensions/builder.rb index 3f49b091..bd08f15f 100644 --- a/lib/simple_form/action_view_extensions/builder.rb +++ b/lib/simple_form/action_view_extensions/builder.rb @@ -71,17 +71,7 @@ module SimpleForm include CollectionExtensions def render - rendered_collection = render_collection do |item, value, text, default_html_options| - builder = instantiate_builder(RadioButtonBuilder, item, value, text, default_html_options) - - if block_given? - yield builder - else - render_component(builder) - end - end - - wrap_rendered_collection(rendered_collection, @options) + wrap_rendered_collection(super, @options) end private @@ -95,22 +85,7 @@ module SimpleForm include CollectionExtensions def render - rendered_collection = render_collection do |item, value, text, default_html_options| - default_html_options[:multiple] = true - builder = instantiate_builder(CheckBoxBuilder, item, value, text, default_html_options) - - if block_given? - yield builder - else - render_component(builder) - end - end - - # Append a hidden field to make sure something will be sent back to the - # server if all check boxes are unchecked. - hidden = @template_object.hidden_field_tag("#{tag_name}[]", "", :id => nil) - - wrap_rendered_collection(rendered_collection + hidden, @options) + wrap_rendered_collection(super, @options) end private @@ -227,7 +202,6 @@ module ActionView::Helpers # * item_wrapper_class => the CSS class to use for item_wrapper_tag # # * a block => to generate the label + check box or any other component. - # def collection_check_boxes(method, collection, value_method, text_method, options = {}, html_options = {}, &block) SimpleForm::Tags::CollectionCheckBoxes.new(@object_name, method, @template, collection, value_method, text_method, objectify_options(options), @default_options.merge(html_options)).render(&block) end