2016-03-01 131 views
0

我有,我需要的形式,一個簡單的文本字段的表單進行填寫:必填字段上collection_select類型字段

<%= f.text_field :email, :required => true %> 

下一個字段是,我要強制用戶到collection_select類型選擇一個選項。我想:

<%= f.collection_select(:list_ids, List.where(user_id: current_user), :id, :name, {}, {multiple: true}), :required => true %> 

它給我的錯誤:

syntax error, unexpected ',', expecting ')' ..., :name, {}, {multiple: true}), :required => true);@output_... ...^

沒有:required => true選項的代碼工作正常。在這種情況下,我如何強制用戶進行選擇?由於

+0

的可能的複製[爲什麼?需要=>真不工作的收集\ _select(http://stackoverflow.com/questions/24767768/why-is - 需要 - 真的沒有在收集選擇) – SsouLlesS

+0

考慮選擇我的答案作爲接受的答案,這樣社會上的其他人將幫助你,當你有更多的問題... – SsouLlesS

回答

1

嘗試修改此

<%= f.collection_select(:list_ids, List.where(user_id: current_user), :id, :name, {}, {multiple: true}), :required => true %> 

這個

<%= f.collection_select :list_ids, List.where(user_id: current_user), :id, :name, {}, {multiple: true, required: true} %> 
1

試試這個

<%= f.collection_select(:list_ids, List.where(user_id: current_user), :id, :name, {}, {multiple: true, required: true}) %> 

說明:

根據Rails的文檔山坳語法lection_select功能如下:

collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {}) 

按語法選項和html_options是哈希,所以你需要將它們封閉在大括號。

參考 - http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/collection_select

Credit

+0

你的答案被複制幾乎行從這個[SO帖](http://stackoverflow.com/questions/24767768/why-is-required-true-not-working-on-collection-select/24767913#24767913)如果你要複製,你應該信用那個人回答 – MilesStanfield

+0

是的,你說得對,其實我正要把這個標記爲dup – SsouLlesS

+0

謝謝你的幫忙。 – Jan