Rails forme un contournement conditionnel de validation
J'ai un rails de modèle qui valide l'unicité de 2 les valeurs d'un formulaire. Si ces 2 valeurs ne sont pas uniques et les erreurs de validation sont les spectacles et le bouton "soumettre" est changé à "soumettre de nouveau". Je veux permettre à un utilisateur de cliquer sur "soumettre de nouveau" bouton de dérivation et de la validation du modèle. Je veux faire quelque chose comme ceci dans le cas des rails de documentation et de validation:
validates_uniqueness_of :value, :unless => Proc.new { |user| user.signup_step <= 2 }
mais je n'ai pas de valeur dans mon modèle que je peux vérifier...juste les paramètres qui ont le "soumettre de nouveau" de la valeur.
Des idées sur comment faire cela?
source d'informationauteur hacintosh
Vous devez vous connecter pour publier un commentaire.
À mon avis c'est la meilleure façon de le faire:
alors à votre avis, assurez-vous de nommer les soumettre tag
de cette façon, toute la logique est dans le modèle, contrôleur de code reste le même.
Essayez ceci:
Rails 2:
Model.save(false)
Rails 3:
Model.save(:validate => false)
Il ignore les validations (tous).
Pas positif, mais vous pourriez essayer d'ajouter un attr_accessor à votre modèle à tenir si le formulaire a été soumis une fois avant.
juste ajouter
attr_accessor :submitted
à votre modèle et à vérifier dans vos validations.
Vous pouvez juste regarder le bouton "soumettre" afin de déterminer si vous souhaitez effectuer les validations.