2016-05-21 9 views
0

Subtrahieren Ich habe eine simple_form, die eine Dropdown-Liste für ein boolesches Attribut hat.Rails: Ein boolesches Feld durch ein Dropdown-Menü in simple_form

<option value="0">None</option> 
<option value="1">Yes</option> 

Ist dies der richtige Weg, ein boolean-Attribut subitting, oder sollte ich eintragen als "true"/"false"?

Mein Modell scheint nicht 1 als true zu akzeptieren, scheint es ...

Antwort

0

würde ich empfehlen, ein Kontrollkästchen oder Radio-Tasten mit Simple den as: :boolean Einstellung checked_value: true, unchecked_value: false Es macht die Absichten deutlicher sowohl für den Benutzer und alle Entwickler, die möglicherweise mit Ihnen zusammenarbeiten.

Für die Verwendung von booleans in einem Dropdown können Sie immer einen before_save Callback in Ihrem Modell hinzufügen, der sich mit diesem Attribut beschäftigt, wo es die eingehenden 0 oder 1 zuerst in wahr/falsch konvertiert.

0

Der Wert true/false sollte für boolesche Attribute verwendet werden.

So wird die html wie:

<option value="false">None</option> 
    <option value="true">Yes</option> 

oder mit Schienen Helfer:

= f.select your_attribute_name, [['None', false], ['Yes', true]]