ruby-on-rails - simple_form - rails forms select
Rails Simple_Form: Cómo mostrar el nombre largo del país (1)
Yo uso gema simple_form
para seleccionar el país:
= simple_form_for @shop, :url => { :action => "create" }, :html => {:id => ''new_shop'' } do |f|
= f.simple_fields_for :address, :html => {:multipart => true} do |o|
= o.input :country, :label => "Country"
Pero el nombre del país se guarda en formato corto en la base de datos (como RU
, FR
, AU
, etc.).
Me pregunto, ¿cómo puedo mostrar el nombre completo y largo del país en las vistas? ¡Gracias!
De hecho, es una buena idea guardar el código de país en la base de datos (no el nombre largo) porque I18n. Al tener el código, puede obtener el nombre de la siguiente manera:
class User < ActiveRecord::Base
# Assuming country_select is used with User attribute `country_code`
# This will attempt to translate the country name and use the default
# (usually English) name if no translation is available
def country_name
country = ISO3166::Country[country_code]
country.translations[I18n.locale.to_s] || country.name
end
end
Check: country_select: obtener el nombre del país de la gema del país