0
後(內部工作服務器上使用Rails 2.3.5沒有選擇的版本,和我很新)軌,collection_select - 與記憶值:選擇表格提交
我建立一個搜索表單我需要爲用戶提供目錄列表,以便他們可以選擇要搜索的目錄。我試圖弄清楚如何在提交表單後讓選定的值保留爲collection_select。
假定用戶從collection_select選擇3名的目錄,這些目錄的id的是這樣的PARAMS:
directory: !map:HashWithIndifferentAccess
id:
- "2"
- "4"
- "6"
我知道,你可以手動指定多項選擇:
<%= collection_select :directory, :id, @directories, :id, :name,
{:selected => [2,4,6]}, {:size => 5, :multiple => true} %>
我也玩過一段時間,並能夠對params散列中的單個值「to_i」:
<%= collection_select :directory, :id, @directories, :id, :name,
{:selected => params[:directory][:id][0].to_i}, {:size => 5, :multiple => true} %>
我無法弄清楚如何同時使用:目錄參數的所有值,以便在提交表單後用戶選擇的內容。謝謝你的幫助。
嘿雅各,謝謝您!這就像一個魅力。提交表單時,collection_selet中的所選值保持選中狀態。唯一的缺陷是如果沒有選擇任何東西,那麼頁面會出現無零錯誤的錯誤。我不知道我在做什麼,但是我在if語句中加入了一個if語句(<%if!params [:directory] .nil?%>)來選擇具有「:selected」選項的colllection_select和它沒有的副本。我相信有更好的方法,但似乎工作。再次感謝! – Reno 2010-12-20 22:06:18