simple_form rails form for ruby-on-rails format simple-form country

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