Jest validate
specyfikator, które można bezpośrednio stosować w połączeniu (patrz 4.1.2.12 w tym Rails Guide a także validates_associated
(patrz 3.2 w tym Rails Guide). Gdzie zarówno różnią?Weryfikuj vs validates_associated
Odpowiedz
Są zarówno zatwierdzenie powiązanych modelu (-y).
różnica polega na tym, że pierwszy jest opcją w sprawie stowarzyszenia (np belongs_to
, has_many
, etc). np można zdefiniować „akt walidacji” w swoim związku.
W klasycznym przykładzie "Autor ma wiele książek" powiedzmy, że włączasz belongs_to :author, :validate => true
w modelu Book. Za każdym razem, gdy sprawdzasz poprawność modelu Book, powiązany autor musi również być ważny.
Druga to osobna zasada sprawdzania poprawności, którą można dodać do innych poprawności. Tak więc w tym przypadku włącza się sprawdzanie poprawności skojarzonego obiektu z innymi regułami sprawdzania poprawności.
Może to działać odwrotnie. W Autor: has_many :books ; validates_associated :books
. Podczas sprawdzania poprawności obiektu autorskiego wszystkie książki są również zatwierdzane.
Aby użyć validates_associated bez podwójnego sprawdzania poprawności, musisz jawnie wyłącz: sprawdź na skojarzeniu. Nadal się zastanawiam, dlaczego validates_associated istnieje, jeśli robi to samo, co ustawienie domyślne. Jakieś pomysły? –
Mam dokładnie to samo pytanie co @zardox, ale nie jestem pewien, czy to naprawdę odpowiada. Czy mógłbyś wyjaśnić, jaka jest rzeczywista różnica między dwiema metodami innymi niż pozycja, w której są zadeklarowane. Sugerujesz, że w pierwszej kolejności książka faktycznie tworzy przeciwciśnienie walidacyjne aż do autora i zmusza autora do unieważnienia, jeśli książka jest nieważna? To nie wydaje się bardzo zamknięte. –
Ciągle jestem zdezorientowany. Jaka jest różnica między has_many: books,: validate => true i has_many: books; validates_associated: books ?? (Twój opis różnicy sprawia, że brzmią tak, jakby były takie same, co jest przeciwieństwem wyjaśnienia, jak się one różnią.) –
- 1. Weryfikuj łańcuch oparty na format
- 2. Weryfikuj niepodpisane wtyczki dla Eclipse
- 3. weryfikuj podpis gpg bez instalowania klucza
- 4. Moq Weryfikuj bez It - jakiego rodzaju porównać?
- 5. Moq weryfikuj za pomocą parametru obiektu
- 6. pyOpenSSL "openssl weryfikuj -CAfile root.crt client.crt" odpowiednik
- 7. Entity Framework 4.1: Przestawianie IEnumerable <ValidationResult> Weryfikuj
- 8. metoda vs funkcja vs procedura vs klasa?
- 9. body.scrollTop vs documentElement.scrollTop vs window.pagYOffset vs window.scrollY
- 10. Opa vs Dart vs Haxe vs coffeescript
- 11. VS 2008 vs VS 2008 Express
- 12. Strona vs Extent vs. Segment vs. Tabele
- 13. Crystalspace vs. Irrlicht vs. .....?
- 14. NetSqlAzMan vs AzMan vs (?????)
- 15. SpiderMonkey vs JavaScriptCore vs?
- 16. Korzystanie z funkcji Weryfikuj w celu potwierdzenia oczekiwanych wartości parametrów w klasie próbkowania Moq
- 17. Powinieneś używać metod "Weryfikuj" i "Zweryfikuj" dostarczonych przez Moq w twoich testach jednostkowych?
- 18. Klasa vs pakiet vs moduł vs komponent vs kontener kontra serwis vs platforma w świecie Java
- 19. Zmierz czas w Linuksie - czas vs zegar vs getrusage vs clock_gettime vs gettimeofday vs timespec_get?
- 20. IDataErrorInfo vs ValidationRule vs Exception
- 21. Boo vs C# vs Python?
- 22. DbConnection vs OleDbConnection vs OdbcConnection
- 23. Matlab vs Aforge vs OpenCV
- 24. DDS vs AMQP vs ZeroMQ
- 25. ScheduledExecutorService vs Timer vs Handler
- 26. flume vs kafka vs inni
- 27. ActiveMQ vs Apollo vs Kafka
- 28. getBBox() vs getBoundingClientRect() vs getClientRects()
- 29. Object vs Class vs Function
- 30. Wskaźniki vs auto_ptr vs shared_ptr
Oto [zaktualizowany link do wpisu Przewodnika Railsowego w skojarzeniu validates] (http://guides.rubyonrails.org/active_record_validations.html#validates-associated) – stereoscott