Có một specifier validate
có thể được sử dụng trực tiếp trên hiệp hội (xem 4.1.2.12 tại Rails Guide này và cũng là một validates_associated
(xem 3.2 tại Rails Guide đó). đâu cả khác nhau?Validate vs validates_associated
Trả lời
Họ cả hai xác nhận các mô hình liên quan (s).
sự khác biệt là người đầu tiên là một lựa chọn về hiệp hội (ví dụ belongs_to
, has_many
, vv). Ví dụ: bạn xác định 'hành xác' trong hiệp hội của bạn.
Trong ví dụ "Tác giả có nhiều sách" cổ điển, giả sử bạn bật belongs_to :author, :validate => true
trên mô hình Sách. Mỗi khi bạn xác thực mô hình Sách, Tác giả được liên kết cũng phải hợp lệ.
Khác là quy tắc xác thực riêng biệt mà bạn có thể thêm vào các xác thực khác của mình. Vì vậy, trong trường hợp này, bạn cho phép xác nhận hợp lệ đối tượng liên kết cùng với các quy tắc xác thực khác.
Điều này có thể hoạt động theo cách khác. Trong tác giả: has_many :books ; validates_associated :books
. Khi bạn xác thực đối tượng Tác giả, tất cả các sách đều được xác thực.
Để sử dụng validates_associated mà không cần xác thực kép, bạn phải tắt một cách rõ ràng: xác nhận hợp lệ. Tôi vẫn tự hỏi tại sao validates_associated tồn tại nếu nó làm điều tương tự như mặc định. Bất kỳ ý tưởng? –
Tôi có cùng một câu hỏi giống như @zardox nhưng tôi không chắc điều này có thực sự trả lời câu hỏi đó không. Bạn có thể giải thích sự khác biệt thực sự giữa hai phương thức khác với vị trí mà chúng được khai báo không. Bạn có gợi ý rằng trong trường hợp đầu tiên, cuốn sách thực sự tạo ra một xác nhận ngược lại cho tác giả và buộc tác giả không hợp lệ nếu sách không hợp lệ? Điều này dường như không được gói gọn. –
Tôi vẫn còn bối rối. Sự khác biệt giữa has_many: books,: validate => true và has_many: books; validates_associated: books ?? (Mô tả của bạn về sự khác biệt khiến chúng giống như chúng giống nhau, ngược lại với cách giải thích chúng khác nhau như thế nào.) –
- 1. std :: error_code, my_error :: check_block == my_error :: validate && my_error :: accept_block == my_error :: validate
- 2. jQuery Validate Plugin - Validate Hidden Dòng theo Tên
- 3. Phương thức validates_associated tốt hơn cho Rails 3?
- 4. Jquery .validate require_from_group
- 5. Validate nguyên dương
- 6. Validate nhiều email với JavaScript
- 7. Kết nối giữa validate() và hasErrors()
- 8. Validate inlines trước khi lưu mô hình
- 9. jquery validate ẩn điều khiển kendo-ui
- 10. Validate phi mô hình lĩnh vực
- 11. Jquery Validate - Danh sách các lớp
- 12. chuỗi Validate dựa trên một định dạng
- 13. Twitter Bootstrap typeahead và jQuery Validate
- 14. validates_associated và validates_presence_of không hoạt động như mong đợi với rspec?
- 15. Làm thế nào để buộc MVC để Validate IValidatableObject
- 16. jQuery Validate Bỏ qua yếu tố với phong cách
- 17. ActiveRecord Validate độc đáo với Scope phép Nil trên Scope
- 18. Cách @Validate tên người dùng duy nhất vào mùa xuân?
- 19. góc loại validate input = "email" as type = "text"
- 20. Entity Framework 4.1: Ghi đè IEnumerable <ValidationResult> Validate
- 21. Validate Mobile Number sử dụng Hibernate chú thích
- 22. validate và cập nhật thuộc tính đơn ray
- 23. ngày Validate cho bất cứ ai trên 18 với jQuery
- 24. WPF ValidationRule Validate khi kiểm soát được nạp
- 25. Validate số mục has_many trong Ruby on Rails
- 26. jQuery Validate Unobtrusive không hoạt động đối với TextArea
- 27. Validate địa chỉ email trong UITextField trong iphone
- 28. jquery validate - hợp lệ nếu trường ẩn có giá trị
- 29. jquery validate kiểm tra ít nhất một hộp kiểm
- 30. Validate số lĩnh vực văn bản trong jquery
Dưới đây là [cập nhật liên kết đến mục Hướng dẫn Rails trên validates_associated] (http://guides.rubyonrails.org/active_record_validations.html#validates-associated) – stereoscott