2009-07-24 5 views
2

Je le code suivant:Rails form_for radio_button "ne peut pas être vide"

<% form_for(@libation) do |f| %> 
    <%= f.radio_button :carbonated, true %> <%= f.label :carbonated, "Yes" %> 
    <%= f.radio_button :carbonated, false %> <%= f.label :carbonated, "No" %> 
<% end %> 

La base de données dans la colonne carbonated est de type tinyint.
Et quand ce qui précède est exécuté et que je clique No je reçois une grosse boîte rouge me disant:

1 error prohibited this libation from being saved 
    There were problems with the following fields: 
    * Carbonated can't be blank 

Toutes les idées?
-thanx

Répondre

-5

Hah, répondant à ma propre question. Il semble qu'il y ait un problème avec la spécification HTML ne pas envoyer un "faux" correctement, donc besoin de travailler. Pour moi, dans le fichier modèle que j'avais:

validates_presence_of :carbonated 

et simplement en supprimant ce corrige ce message d'erreur. Je par défaut à false et il peut être changé en vrai. Message d'erreur disparu.

ciao.

15

J'ai eu des difficultés avec la validation d'une valeur booléenne, donc j'appris à valider leur présence que vous devez faire:

validates_inclusion_of :carbonated, :in => [true, false] 
Questions connexes