C'è un validate
identificatore che può essere utilizzato direttamente in merito all'associazione (vedi 4.1.2.12 a questo Rails Guide e anche un validates_associated
(vedi 3.2 a quel Rails Guide). Dove fare entrambe le cose differiscono?validate vs validates_associated
risposta
Essi sia validare il modello associato (s).
la differenza è che il primo è un'opzione relativa all 'associazione (ad esempio belongs_to
, has_many
, ecc). Ad esempio, si definisce la 'atto di convalida' nella vostra associazione.
In un classico esempio di "Autore ha molti libri", supponi di abilitare lo belongs_to :author, :validate => true
nel modello Book. Ogni volta che convalidi un modello di libro, anche l'autore associato deve essere valido.
L'altra è una regola di convalida separata che è possibile aggiungere alle altre convalide. Quindi, in questo caso abiliti la convalida di un oggetto associato insieme ad altre regole di validazione.
Questo può funzionare in senso inverso. In Autore: has_many :books ; validates_associated :books
. Quando si convalida l'oggetto Autore, anche tutti i libri vengono convalidati.
Per utilizzare validates_associated senza convalida doppia, è necessario spegnere esplicitamente: convalidare sull'associazione. Mi sto ancora chiedendo perché esiste validates_associated se fa la stessa cosa del default. Qualche idea? –
Ho esattamente la stessa domanda di @zardox ma non sono sicuro che questo lo risponda davvero. Potresti spiegare qual è la differenza effettiva tra i due metodi diversi dalla posizione in cui sono dichiarati. Stai suggerendo che, in prima istanza, il libro crea effettivamente una contropressione di validazione fino all'autore e costringe l'autore a non essere valido se il libro non è valido? Questo non sembra molto incapsulato. –
Sono ancora confuso, anche. Qual è la differenza tra has_many: books,: validate => true e has_many: books; validates_associated: books ?? (La tua descrizione della differenza li fa sembrare uguali, il che è l'opposto della spiegazione di come sono diversi.) –
- 1. Valid vs Validate
- 2. django "python manage.py validate" Errore: comando sconosciuto 'validate'
- 3. std :: error_code, my_error :: check_block == my_error :: validate && my_error :: accept_block == my_error :: validate
- 4. javascript validate select dropdown
- 5. Validate campo Jeditable
- 6. TextField Custom for Validate
- 7. php validate intero
- 8. Validate currency currency text
- 9. Hibernate - hibernate.hbm2ddl.auto = validate
- 10. DOMDocument :: validate() problem
- 11. Jquery .validate require_from_group
- 12. angolare input type validate = "numero"
- 13. Validate Nome Campo In javascript
- 14. Jquery Validate - Elenco delle classi
- 15. xHTML 1.0 strict - Validate iFrames
- 16. validate almeno uno in has_and_belongs_to_many
- 17. Validate struct field if esiste
- 18. jQuery Validate (Intervallo di date)
- 19. jQuery validate dynamic percentage field
- 20. jquery validate su elementi non ancora creati
- 21. jquery validate minlength rule non funziona
- 22. grails validate oggetto comando nidificato non funzionante
- 23. jQuery Validate() Campi di immissione errore Hightlight
- 24. Twitter Bootstrap typeahead e jQuery Validate
- 25. Validate Min/Max length of Password
- 26. jQuery Validate Unobtrusive non funziona per TextArea
- 27. Validate campi di input aggiunti dinamicamente
- 28. Rimuovi componente swing utilizzando Validate o Revalidate
- 29. Utilizzo di attributi dati con jquery validate
- 30. stringa validate basato su un formato
Ecco un [collegamento aggiornato alla voce Rails Guide su validates_associated] (http://guides.rubyonrails.org/active_record_validations.html#validates-associated) – stereoscott