2009-03-02 16 views
9

Cách tốt nhất để báo cáo lỗi trên trường biểu mẫu không được liên kết với một mô hình cụ thể trong Rails là gì? Ví dụ, tôi có một biểu mẫu cho việc tạo hàng loạt tài khoản người dùng với người dùng/mật khẩu ngẫu nhiên. Nó lấy làm đầu vào số lượng người dùng thực hiện, thông tin về thuộc tính nào mà tất cả người dùng cần có và thông tin về lô được lưu trữ trong mô hình user_batches được liên kết với người dùng được tạo.Lỗi trên các trường không phải là mô hình trong đường ray

Lý tưởng sẽ có một số errors_on như cách liệt kê lỗi đến từ trường số lượng, được liên kết với không có mô hình, trường thông tin người dùng, được liên kết với hồ sơ người dùng được tạo và mô hình user_batches với mã tối thiểu.

Điều này cũng áp dụng cho các biểu mẫu tìm kiếm và nội dung tương tự, không được chạy qua xác thực AR. Ý tưởng nào?

Trả lời

3

Bạn có thể thêm lỗi của riêng mình theo cách thủ công vào đối tượng mô hình của bạn như thế này.

@user_batch.errors.add_to_base("Foo") 
+0

Cảm ơn! Nhưng, bạn sẽ làm gì trong trường hợp không có trường hợp cụ thể để thêm nó vào. Giống như đối với một biểu mẫu tìm kiếm có nhiều tùy chọn do truy vấn không hợp lệ, không có đối tượng nào được trả về? Hoặc cho một báo cáo chỉ hiển thị kết quả của một SQL phức tạp, không tìm thấy đối tượng nào, chỉ là dữ liệu thô? –

+0

Một cách tiếp cận sẽ là để giữ một mảng đơn giản của các lỗi mà bạn muốn hiển thị, mà bạn muốn xây dựng trong quá trình hành động điều khiển của bạn. Sau đó chuyển đổi sang tin nhắn flash ngay trước khi hiển thị. – jdl

+0

Cảm ơn JDL, đó thực sự là những gì tôi đã hy vọng để tránh, nhưng có vẻ như đó là những gì tôi sẽ đi với bây giờ. Tôi thích cách error_on được gắn một cách rõ ràng với một biểu mẫu, trong khi một thông báo flash được gắn với trang đó nhiều hơn. –

Các vấn đề liên quan