lib/uncharted/extensions/rails.rb in uncharted-0.0.15 vs lib/uncharted/extensions/rails.rb in uncharted-0.0.16

- old
+ new

@@ -6,10 +6,15 @@ # Return select and option tags for the given object and method, using country_options_for_select to generate the list of option tags. def country_select(object, method, priority_countries = nil, options = {}, html_options = {}) InstanceTag.new(object, method, self, options.delete(:object)).to_country_select_tag(priority_countries, options, html_options) end + # Return select and option tags for the given object and method, using country_options_for_select to generate the list of option tags. + def teritory_select(object, method, priority_territories = nil, options = {}, html_options = {}) + InstanceTag.new(object, method, self, options.delete(:object)).to_territory_select_tag(priority_territories, options, html_options) + end + # Returns a string of option tags for pretty much any country in the world. Supply a country name as +selected+ to # have it marked as the selected option tag. You can also supply an array of countries as +priority_countries+, so # that they will be listed above the rest of the (long) list. # # NOTE: Only the option tags are returned, you have to wrap this call in a regular HTML select tag. @@ -29,17 +34,17 @@ def territory_options_for_select(selected = nil, priority_territories = nil) territory_options = "" if priority_territories - territory_options += options_from_collection_for_select(Territory.find(priority_territories), :alpha2, :name, selected) + territory_options += options_from_collection_for_select(Territory.find(priority_territories), :code, :name, selected) territory_options += "<option value=\"\" disabled=\"disabled\">-------------</option>\n" # prevents selected from being included twice in the HTML which causes # some browsers to select the second selected option (not priority) # which makes it harder to select an alternative priority country selected = nil if priority_territories.include?(selected) end - territory_options + options_from_collection_for_select(Uncharted::Country.territories, :alpha2, :name, selected) + territory_options + options_from_collection_for_select(Uncharted::Country.territories, :code, :name, selected) end end class InstanceTag