我的應用程序中的select_options標記生成一個參數列表,它始終包含一個空字符串。 當使用參數從數據庫中獲取數據時,會導致錯誤。具有multipe的collection_select true使用空字符串發送參數
的組成部分是這樣的:
<%= f.label :text %><br>
<%= f.text_area :text, cols: 80, rows: 15, class: 'form-control' %>
<%= f.label 'Category:' %>
<%= f.collection_select(:categories, Category.all, :id, :cat_name, {:selected => Category.first.id}, {:multiple => true}) %>
輸出(HTML)是這樣的:
<select multiple="multiple" name="article[categories][]" id="article_categories">
<input name="article[categories][]" value="" type="hidden">
<option selected="selected" value="1">default</option>
<option value="2">politics</option>
</select>
這看起來完美的我。但提交時(在選擇了兩個選項)中的參數如下所示:
Parameters: {"utf8"=>"✓", "authenticity_token"=>"kvYo6rb+lswUuJMHpbb+hH3YFjHU25/ESN7vvLLdlVn1TOSgzyiMsXkrJbiWIhuuO4UvNLQ3jU7uTw0zneVTUA==",
"article"=>{"title"=>"test category", "text"=>"Na mal sehen...\r\nIses drin?",
"categories"=>["", "1", "2"], "published"=>"0"}, "commit"=>"Save changes", "id"=>"76"}
類別部分包含:類別「=> [」」,‘1’,‘2’] 第一個是一個空串,我不能找出如何擺脫它。
感謝您的幫助提前!
謝謝!這是解決方案:-) – kaliyuga