2013-05-06 63 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 ] } 
相關問題