2013-05-06 68 views
0

这是一个非常简单的问题,但我是新的。我正尝试创建一个包含从模型中填充的值的下拉菜单。但是,我没有显示城市名称,而是获取记录ID,如:0x007fee0b7442c0(不确定这些是否称为ID,我认为有另一个术语)。简单 - 获取记录ID而不是所需的属性

控制器:

@cities = City.find(:all, select: "name") 

查看:

<%= f.select(:city, @cities) %> 

我在做什么错?

回答

2

如果你只想从数据库中name属性然后执行:

@cities = City.pluck(:name) 
# => ["Sydney", "Melbourne", "Canberra"] 
0

你也可以改进通过与其做

@cities = City.pluck(:name) 
0

如果你想在选择框中显示城市名称,你想通过城市ID作为形式参数提交@cities = City.find(:all, select: "name"),使用此

f.select :city, @cities.map {|c| [ c.name, c.id ] } 
相关问题