2012-01-29 2 views
5

이것은 앱 중 일반적인 패턴이며 확실한 해결책이 있지만 확실한 답을 찾을 수는 없습니다. 큰 문제는 내가 무엇이라고 부를지 모른다는 것입니다!레일 3 : 시스템 알림을위한 전략

시스템의 모든 사용자에게 일회성 알림을 제공하는 적절한 해결책을 찾고 있습니다. 해당 사용자가 알림을 수신 확인하거나 닫으면 개인적으로 다시 볼 수 없지만 사용자는 알림을받을 때까지 사용자가 알립니다.

분명히, 이것은이 특정이 특정 메시지를 인정했다 플래그와 같은 일부 데이터베이스에 거주 할 필요가 온 - 보드, 유지 보수 사항, 새로운 기능을 수행 할 때이 일반적입니다 만 보인다 그 (것)들을 배달하기를위한 잘 생각한 계획없이 빨리 무겁고 다루기 쉬울 수 있었다 같이.

답변

2

my answer과 비슷한 질문을 참조하십시오.

메시지는 내 사용자 모델에 일련화된 배열로 저장됩니다. 이 방법으로 새 ​​메시지에 대해 #push과 같은 간단한 배열 메서드를 사용할 수 있습니다. 사용자는 특정 메시지 만 #delete_at을 사용하여 개별 메시지를 취소하거나 #clear을 사용하여 모두 취소합니다.

방송 통지를 들어, 같은 불쾌한 일을 할 수있는 등 : 자주 사용하는 경우, 거래의 큰되지 않습니다,

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

.