Làm cách nào để bạn quay lại các thay đổi mô hình khi gặp phải lỗi phía máy chủ (ví dụ: lỗi xác thực)?Xác thực phía máy chủ Backbone.js và các lỗi phía máy chủ khác
Do xác thực nhất định phải được thực hiện ở phía máy chủ, cách thích hợp để làm điều này với backbone.js (Rails backend) là gì?
Khi lưu mô hình đường trục, xác thực phía máy khách sẽ kích hoạt cung cấp trải nghiệm người dùng thích hợp nếu xác thực không thành công (số lượt xem của mô hình đó không cập nhật). Tuy nhiên, nếu xác nhận hợp lệ phía máy chủ không thành công, mô hình và tất cả các khung nhìn của nó đã được cập nhật (với dữ liệu không hợp lệ) trước PUT tới máy chủ.
Dường như có một vài vấn đề với điều này.
- Tất cả các chế độ xem được cập nhật trước khi mô hình được xác thực phía máy chủ. Ví dụ: Nếu bạn có danh sách các mô hình có hộp thoại chỉnh sửa bật lên , mô hình trong danh sách được cập nhật có khả năng thông tin không hợp lệ sau khi bạn gọi Model.save, nhưng trước khi có được xác thực phía máy chủ PUT'ed.
- Nếu máy chủ trả về lỗi (ví dụ: lỗi 422), không có 'rollback' của mô hình xảy ra. Dữ liệu không định giá chỉ là ngồi ở đó giống như một đàn cỏ. Đây thực sự là cái xấu.
Tôi có sử dụng backbone.js sai không? Có cách nào nổi tiếng để xử lý kịch bản (rất phổ biến) này không? Tôi hiểu tôi có thể làm một số bộ nhớ đệm thủ công của các giá trị cũ, vv, nhưng nó là loại một giải pháp có mùi.
Cảm ơn!
Điều này dường như được trả lời ở đây: http://stackoverflow.com/a/10335668/1284283 (một năm sau và có thể là phiên bản mới hơn của backbonej). – brightgarden