2012-01-29 29 views
5

Đây là một mẫu phổ biến giữa các ứng dụng và tôi chắc chắn có một giải pháp duyên dáng, nhưng đối với cuộc sống của tôi, tôi không thể tìm thấy câu trả lời. Một vấn đề lớn là tôi không biết phải gọi nó là gì!Rails 3: Chiến lược cho thông báo hệ thống

Tôi đang cố gắng tìm giải pháp thích hợp để cung cấp thông báo một lần cho mọi người dùng của một hệ thống. Khi người dùng đó xác nhận hoặc đóng thông báo, họ sẽ không nhìn thấy nó một lần nữa, nhưng những người dùng khác sẽ cho đến khi họ xác nhận nó.

này là phổ biến khi thực hiện thông báo bảo trì, tính năng mới, trên trú vv

Rõ ràng, điều này sẽ cần phải sống ở một số cơ sở dữ liệu như một lá cờ mà đặc biệt này đã thừa nhận thông điệp cụ thể này, nhưng có vẻ như như vậy có thể trở nên nặng nề và khó sử dụng một cách nhanh chóng mà không có một kế hoạch tốt cho việc phân phối chúng.

Trả lời

2

Xem my answer cho một câu hỏi tương tự.

Thư nằm trong mô hình người dùng của tôi dưới dạng mảng được tuần tự hóa. Bằng cách này tôi có thể sử dụng các phương thức mảng đơn giản như #push cho các thư mới. Người dùng chỉ xử lý các thư cụ thể cho họ, sử dụng #delete_at để hủy từng thư hoặc #clear để hủy tất cả thư.

Đối với thông báo phát sóng, bạn có thể làm một cái gì đó như đáng ghét như:

User.all.map {|x| x.messages.push "You have been notified." ; x.save } 

đó, nếu sử dụng không thường xuyên, không phải là lớn của một thỏa thuận.

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