Rails的Simple_Form:如何显示该国的长名称(Rails Simple_Form: Ho

2019-10-20 23:36发布

我用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"

但该国的名字被保存在数据库中的短格式(例如RUFRAU ,等等)。

我不知道,我怎么能在视图中显示,目前我国的全面,长期的名字吗? 谢谢!

Answer 1:

实际上是一个好主意,因为节省的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:从国家宝石获取国家名称



文章来源: Rails Simple_Form: How to show long name of the country