4

我正在使用 Carmen gem 在 Rails 中呈现国家/地区选择。国家在数据库中存储为代码。如何从此代码中取回“全名”?

gem 'carmen-rails', '~> 1.0.0.beta3'

<%= f.country_select :country, prompt: 'Please select a country' %>

我尝试了几个选项,到目前为止没有一个有效!例如:

Carmen::country_name(@profile.country)

导致错误:

Carmen:Module 的未定义方法“country_name”

第二次尝试:

在profiles_controller:

@profile = Profile.find(params[:id])
@country = Carmen::Country.named( @profile.country )  

在配置文件索引视图中:

<%= @country.official_name %>

这会导致错误:

nil:NilClass 的未定义方法“official_name”

为什么我的应用程序失败?

4

2 回答 2

10

在 github 上查看 carmen 的测试规范:

https://github.com/jim/carmen/blob/master/spec/carmen/country_spec.rb

@country = Carmen::Country.coded(@profile.country)

<%= @country.name %>
于 2012-07-28T01:18:57.773 回答
2

这是国名

@country = Carmen::Country.coded(@profile.country)

<%= @country.name %>

对于州名

@subregions = @country.subregions
@state = @subregions.coded(@profile.state_code)
<%= @state.name %>

希望这个答案是完整的。

于 2015-05-29T10:32:32.153 回答