Cela semble être un problème stupide mais je ne trouve la réponse nulle part !
Est-il possible de update_attributes()
et sauter les validations, comme dans save(validate: false)
?
J'ai un formulaire long avec quelques longues text
(pas string
), et j'aimerais offrir à l'utilisateur la possibilité d'enregistrer sa progression sur le formulaire. Normalement, je veux que les réponses aient une longueur minimale, etc., avant que l'utilisateur puisse soumettre le formulaire et passer à autre chose, mais dans le cas où l'utilisateur clique simplement sur "Enregistrer", j'aimerais enregistrer la progression qu'il a faite dans la base de données pour qu'il puisse revenir et terminer plus tard. Existe-t-il un moyen d'ignorer les validations dans ce cas ?
En regardant autour de moi, il semble que la seule chose que je puisse faire soit d'énumérer chaque champ individuellement comme suit :
@obj.field1 = ...
@obj.field2 = ...
@obj.field3 = ...
...
@obj.save(:validate => false)
Est-ce vraiment le cas ? J'aurais peur d'ajouter un autre champ à un moment donné dans le futur et d'oublier de mettre à jour le contrôleur ici.