HI all, I used country select tag for showing country dropdown. <%= f.country_select(:country, ["United States"] It result the option values as the full name of that countries as give below. <option value="Afghanistan">Afghanistan</option> <option value="Aland Islands">Aland Islands</option> <option value="Albania">Albania</option> <option value="Algeria">Algeria</option> but I want the country code as option values as below is there any possible way <option value="AF">Afghanistan</option> <option value="FI">Aland Islands</option> <option value="AL">Albania</option> <option value="DZ">Algeria</option> regards, Veeraa -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Ratnavel Sundaramurthi
2008-Apr-17 06:58 UTC
Re: country_select box with country code as value
I guess then u have to use options_for_select tag and u need to supply array of countries.. I guess country_select will only allow u to do this <option value="Afghanistan">Afghanistan</option> <option value="Aland Islands">Aland Islands</option> <option value="Albania">Albania</option> <option value="Algeria">Algeria</option> Regards, Ratnavel. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi Veera,
I got the following from
http://railsmanual.com/module/ActionView::Helpers::FormOptionsHelper/country_select
but it seems to be down now. Pasted here for your convenience:
1. Install the tzinfo gem
# sudo gem install tzinfo
2. Install the tzinfo_timezone plugin
# ruby script/plugin install tzinfo_timezone
3. Add the following code to your application helper:
def make_attributes(hsh)
unless hsh.nil?
output = ""
hsh.each do |key, val|
output << " #{key}=\"#{val}\""
end
end
output
end
def country_code_select(object, method, priority_countries=nil,
options={}, html_options={})
countries = [TZInfo::Country.all.collect{|x|x.name},
TZInfo::Country.all_codes].transpose.sort
if priority_countries.nil?
output = select(object, method, countries, options,
html_options)
else
output = "<select id=''#{object}_#{method}''
name=''#{object}
[#{method}]''#{make_attributes html_options}>\n"
if options[:include_blank] == true
output << "<option
value=''''></option>"
end
priority_countries.each do |pc|
if options[:selected] == pc[:code] or options[:selected] =pc[:name]
output << "<option
value=''#{pc[:code]}''
selected>#{pc[:name]}</option>\n"
else
output << "<option
value=''#{pc[:code]}''>#{pc[:name]}</option>
\n"
end
end
output << "<option value=''''
disabled>----------------------------
</option>\n"
output << options_for_select(countries, options[:selected])
output << "</select>\n"
end
output
end
4. Use the helper like so in your views:
<%= country_code_select(:order, :ship_to_country,
priority_countries=[{:code=>''US'',:name=>''United
States''}],
{:selected=>''DK'',:include_blank=>true},{:style=>''border:10px
solid
red;''}) %>
Hope that helps,
Alan
On Apr 17, 7:27 am, Veera Sundaravel <rails-mailing-l...@andreas-
s.net> wrote:> HI all,
>
> I used country select tag for showing country dropdown.
>
> <%= f.country_select(:country, ["United States"]
>
> It result the option values as the full name of that countries as give
> below.
>
> <option value="Afghanistan">Afghanistan</option>
> <option value="Aland Islands">Aland Islands</option>
> <option value="Albania">Albania</option>
> <option value="Algeria">Algeria</option>
>
> but I want the country code as option values as below is there any
> possible way
>
> <option value="AF">Afghanistan</option>
> <option value="FI">Aland Islands</option>
> <option value="AL">Albania</option>
> <option value="DZ">Algeria</option>
>
> regards,
> Veeraa
> --
> Posted viahttp://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---