2017-04-17 5 views
0

I ein Formelement haben, das ausgewählt ist unter Verwendung eines Mehrfachauswahl-Eingang zu machen, wie soGewählte Mehrfachauswahl sorgt für zusätzliche „“, um Array von Werten

<%= f.collection_select :application_regions, ApplicationRegion.all, :identifier, :name, {}, { class: 'chosen_select', multiple: true } %>

Der Wert ist ein Array ApplicationRegions.all mit einem einzigen Wert

[#<ApplicationRegion:0x007fc61aeb3100 @identifier="FOO", @name="BAR">]

ich Initialisierung wie so gewählt:

$(document).on 'turbolinks:load', -> 
    $('.chosen-container').remove() 
    $('.chosen_select').chosen 
    allow_single_deselect: true 
    width: '100%' 

Der Eingang zeigt korrekt eine Liste mit einer einzigen Option an BAR, aber das Ausgangsarray ist ["", "BAR"] - wo kommt das extra "" her und wie kann ich es loswerden?

Ich hatte gedacht, dass die allow_single_deselect: true Entnahme darum kümmern würde, aber das Verhalten bleibt (ich habe ein spring stop nur um sicher zu sein)

+0

Wissen Sie über ': include_blank => false'? Hast du die Dokumentation zu 'f.collection_select' gelesen? –

+0

Es gibt keinen leeren Wert in der generierten Auswahleingabe, ': include_blank' löst das Problem nicht. –

Antwort

0

Зелёный auf dem richtigen Weg ist. Das Hinzufügen von include_hidden: false zu collection_select löst das Problem der zusätzlichen '' in der Ausgabe.

Verwandte Themen