diff options
author | Xavier Noria <fxn@hashref.com> | 2012-01-17 14:08:09 -0800 |
---|---|---|
committer | Xavier Noria <fxn@hashref.com> | 2012-01-17 14:08:09 -0800 |
commit | 57aaaa61977e82b9de2c43c26b00e636030685c4 (patch) | |
tree | 493351f06c1e8bc9fe5131015e72a963f9f2806d /actionpack/lib/action_view/helpers/tags/grouped_collection_select.rb | |
parent | ba154bd76fb481d9faca123e988924bd864c0318 (diff) | |
parent | 6f1bf526d7f1869b47f6047c4285c673bb06d0ec (diff) | |
download | rails-57aaaa61977e82b9de2c43c26b00e636030685c4.tar.gz rails-57aaaa61977e82b9de2c43c26b00e636030685c4.tar.bz2 rails-57aaaa61977e82b9de2c43c26b00e636030685c4.zip |
Merge pull request #4488 from rafaelfranca/av-refactor
ActionView::Helpers::FormHelper refactoring
Diffstat (limited to 'actionpack/lib/action_view/helpers/tags/grouped_collection_select.rb')
-rw-r--r-- | actionpack/lib/action_view/helpers/tags/grouped_collection_select.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/actionpack/lib/action_view/helpers/tags/grouped_collection_select.rb b/actionpack/lib/action_view/helpers/tags/grouped_collection_select.rb new file mode 100644 index 0000000000..507466a57a --- /dev/null +++ b/actionpack/lib/action_view/helpers/tags/grouped_collection_select.rb @@ -0,0 +1,24 @@ +module ActionView + module Helpers + module Tags + class GroupedCollectionSelect < Base #:nodoc: + def initialize(object_name, method_name, template_object, collection, group_method, group_label_method, option_key_method, option_value_method, options, html_options) + @collection = collection + @group_method = group_method + @group_label_method = group_label_method + @option_key_method = option_key_method + @option_value_method = option_value_method + @html_options = html_options + + super(object_name, method_name, template_object, options) + end + + def render + select_content_tag( + option_groups_from_collection_for_select(@collection, @group_method, @group_label_method, @option_key_method, @option_value_method, value(@object)), @options, @html_options + ) + end + end + end + end +end |