首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >:name方法说在collection_select中不存在

:name方法说在collection_select中不存在
EN

Stack Overflow用户
提问于 2013-08-17 16:14:04
回答 1查看 106关注 0票数 0

我在Rails应用程序中安装了countries,并希望用它创建一个集合select,如下所示

代码语言:javascript
复制
  <%= f.collection_select :country, Country.all, :id, :name %>

但这给了我这个错误(对于第一个国家)。

代码语言:javascript
复制
undefined method `name' for ["Andorra", "AD"]:Array.

如果我在控制台中使用这个gem执行Country.all操作,它将创建一个类似于以下国家的数组

代码语言:javascript
复制
Country.all

=> [["Andorra", "AD"], ["United Arab Emirates", "AE"], ["Afghanistan", "AF"], ["Antigua and Barbuda", "AG"], ["Anguilla", "AI"], ["Albania", "AL"], ["Armenia", "AM"], ["Netherlands Antilles", "AN"], ["Angola", "AO"], ["Antarctica", "AQ"], ["Argentina", "AR"], ["American Samoa", "AS"], ["Austria", "AT"], ["Australia", "AU"], ["Aruba", "AW"], ["Åland Islands", "AX"], ["Azerbaijan", "AZ"], 

如果我创建一个像这样的国家的实例,它是两个字母代码

代码语言:javascript
复制
>> c = Country.new('US')

然后我可以得到一个名字方法

代码语言:javascript
复制
>> c.name
=> "United States"

我试着在国家宝石上做这件事,因为我不知道如何用countries_select创业板创建一个集合选择。如果你不能告诉我如何解决国家创业板的问题,那么请让我知道如何使用countries_select创业板。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-17 18:16:50

您可以安装gem 'country_select‘来提供呈现选择标记的助手。您传递模型和属性名称,它呈现复选框。如果其中包含用户模型和country属性,则编写

代码语言:javascript
复制
<%= country_select(:user, :country) %>

它会产生

代码语言:javascript
复制
<select id="user_country" name="user[country]"><option value="Afghanistan">Afghanistan</option>
<option value="Åland Islands">Åland Islands</option>
<option value="Albania">Albania</option>
....
</select>

https://github.com/hexorx/countries

select

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18290857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档