2014-03-24 92 views
0

我有一個下拉選擇的設置類似於下面的下拉菜單中選擇切換到第一個值列表:在編輯模式

<%= select_tag :city_id, option_groups_from_collection_for_select(@regions, :cities, :name, :id, :name) %> 

它工作正常,只是當我打開編輯視圖列表負載選擇中的第一項,而不是保存的值。我有沒有參數?在軌道4

回答

1

據對option_groups_from_collection_for_select的文檔在這裏找到:http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/option_groups_from_collection_for_select
它有一個第六個參數是選擇的價值,所以只需添加的最後一個參數你想要的值,它會工作:

<%= select_tag :city_id, 
    option_groups_from_collection_for_select(@regions, :cities, :name, :id, :name, "your_city") %> 
+0

我看到了,但是我希望它被設置爲當前選定的值。這是編輯更多。對於新的,名單上的第一個是好的。 – nktokyo

+0

當您編輯一條記錄時,將其稱爲「@ record」,您將擁有它的所有屬性,如@ record.nome,@ record.id,@ record.city_id等等,所以您只需要將這些信息放入options_groups參數中。 – MurifoX

+0

謝謝你。 – nktokyo

0

而不是使用select_tag使用select

# f being your form object 
<%= f.select :city, option_groups_from_collection_for_select(@regions, :cities, :name, :id, :name) %> 

考慮到你有一個有效的協會與城市

+0

同樣的問題對不起 – nktokyo

+0

它被保存在數據庫中嗎?見編輯的答案。 – ermenkoff

+0

是的,保存更改city_id,剛回到編輯模式顯示下拉列表中的第一項 – nktokyo