2013-03-06 101 views
16

我的標籤:Rails的選擇標記選擇的值

<%= select_tag(:option, options_for_select([['All', 1], ['Co', 2], ['Bought', 3], ['View', 4], ['Top API', 5], :selected => :option ])) %> 

如何設置選擇的值來選擇哪個選項。例如,如果我選擇['Bought', 3]並提交,則選擇['All', 1]選項。如何在提交表單後顯示選定的值。

+0

如果選擇'[ '買',3]'在瀏覽器和然後提交,你在哪裏看到'['All',1]'被選中了?您能否顯示錶單的其餘部分以及與表單操作相關的控制器代碼? – PinnyM 2013-03-06 16:47:55

+0

在錯誤的地方關閉選項('''),所以瀏覽器將':selected =>:option'作爲一個選項。解決這個問題,你可以刷新瀏覽器,所選的選項將保持選中狀態。 – gabrielhilal 2013-03-06 17:00:31

回答

25

你做的一切權利,只要關閉該選項]:selected => :option前:

代替...], selected: :option ])),改變...]], selected: :option))

所以,你的代碼應該是:

<%= select_tag(:option, options_for_select([['All', 1], ['Co', 2], ['Bought', 3], ['View', 4], ['Top API', 5]], selected: :option)) %> 
+1

這是如何指定選擇哪個值的? – 0112 2014-11-24 16:40:50

10

試試這個:

<%= select_tag(:option, options_for_select([['All', 1], ['Co', 2], ['Bought', 3], ['View', 4], ['Top API', 5]], :selected => params[:option])) %> 

這工作完全在軌4.2

1

如果你想添加一個類的標籤:

<%= select_tag(:option, options_for_select([["Option 1",1],["Option 2",2],["Option 3",3]], params[:option]), class:"select") %> 

Worrking在軌5