Avoir un champ booléen (using formtastic) et la valeur ne persistera pas à travers une erreur. S'il est soumis et qu'une erreur existe, sur reload, le champ booléen se vérifie automatiquement, ce qui est mauvais. Je peux voir que le problème est dans la valeur conflictuelle, caché est 0 alors que l'entrée est 1. Les deux devraient être 0. Comment puis-je corriger cela, donc les deux sont mis à 0 initialement. Où vais-je mal?Rails forment un problème
Code Forme:
<%= f.input :legal, :as => :boolean %>
Html Généré
<li class="boolean optional" id="user_legal_input">
<input name="user[legal]" type="hidden" value="0" />
<label for="user_legal">
<input id="user_legal" name="user[legal]" type="checkbox" value="1" />I Agree to the legal terms
</label>
</li>
AJOUTÉE: User (Créer) Contrôleur
def create
@user = User.new(params[:user])
respond_to do |format|
if @user.save
format.js
else
format.js
end
end
end
Les js Relancez juste rend le formulaire avec toutes les erreurs inline
Poster le code d'action du contrôleur (Create/mise à jour) s'il vous plaît –
Si vous avez une section 'attr_accessible' dans votre modèle (user.rb), assurez-vous que vous avez ajouté ': legal' à la liste. –
@john Gibb, c'est. Le problème est les valeurs initiales en conflit – John