2014-09-18 3 views
1

Я использую simple_form камень, чтобы выбрать страну:Rails Simple_Form: Как показать длинное название страны

= 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" 

Но название страны, в настоящее время сохраняется в коротком формате в базе данных (например, RU, FR, AU и т. Д.).

Интересно, как я могу показать полное, длинное название страны во взглядах? Благодаря!

+1

Посмотрите на [этой] (https://github.com/hexorx/countries) драгоценный камень? –

+0

Есть длинный формат в базе данных? –

+0

@ Нит, спасибо, я посмотрю! –

ответ

0

На самом деле это хорошая идея, экономя код страны в базе данных (а не длинное имя), потому что I18n. Имея код, который вы можете получить позже название следующим образом:

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 

Проверил: country_select: Getting the Country Name from the countries gem

Смежные вопросы