

問題1  
collection_selectにmultiple: trueオプションをつけると  
先頭に空文字が入ってしまい値が保存できません

> サーバログ "brand_id"=>["", "350"],

どうしたら正しく値を保存できるでしょうか

問題2  
multiple: trueオプションをつけるとvalidatesで弾かれた場合  
値が消えてしまう。

[code]

    <!--  Brand -->
          <div class="form-group">
            <label for="brand" class="col-sm-3 control-label">ブランド&ensp;&ensp;&ensp;</label>
            <div class="col-sm-5">
              <%= f.collection_select :brand_id, Brand.where(id: 9..5000), :id, :name_ja, {}, {class: 'form-control multiselect multiselect-primary',multiple: true} %>
            </div>
          </div>
    
[/code]


CC BY-SA 3.0
2015-04-23T01:18:45.497
9493
2015-04-27T05:43:20.017
2015-04-23T22:51:20.637
9453
9453
question
ruby-on-rails
Rails4 collection_selectのmultipleオプションについて


問題１は、`include_hidden: false` を追加すると大丈夫だと思います。

問題２は、brand_id ではなく、brand_idsにすれば解決しないでしょうか？ `multiple:
true`なので、複数のidを取得・設定する必要がある気がします。

[code]

    f.collection_select :brand_ids, Brand.where(id: 9..5000), :id, :name_ja, {include_hidden: false}, {class: 'form-control multiselect multiselect-primary',multiple: true}
    
[/code]


CC BY-SA 3.0
2015-04-27T05:43:20.017
9587
2015-04-27T05:43:20.017
9508
9493
answer