Forum: Ruby on Rails Modeling an internal messaging system, how would you do?

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
6f3f4fcb842db4b755cd8adc8bca67c6?d=identicon&s=25 ms (Guest)
on 2009-05-14 17:07
(Received via mailing list)

on my site, I've got an internal messaging system. A message can be
saved, sender and recipient are saved as properties. Then, also one
status number is saved, which indicates whether the message is sent/
read/deleted either on the sender side or on the recipient side. As I
relaunch the system, the question came to my mind, if I should it
model another way. For example, I could associate the User and Message
model over a intermediate model, where for example, I could save some
more data, which refers directly to the relation. A message could then
also have multiple recipient, for example, if I model the intermediate
table 1:m.

There are many ways to do this, I think.

I just wanted to ask, how do you model this and why in this specific

Thank you very much,
Edf24769a4b5466a21c9cea58856ce26?d=identicon&s=25 Guitaronin (Guest)
on 2009-05-14 18:45
(Received via mailing list)
I too would like to know if there is a conventional way of modeling
this. I'm working on the same thing. For what it's worth, I created
two models: message-thread, and message. The message thread only
carries the "subject" of the message, as I feel this doesn't need to
be stored with each individual message. Each subsequent message
related to that subject is a child of the message-thread.

Good question. I'm looking forward to what others think.
6883e5ef03484d4fcef507d7b4f1d243?d=identicon&s=25 Matt Jones (Guest)
on 2009-05-15 19:17
(Received via mailing list)
I've used the restful_ezm plugin with good results - the message model
may be a little simplistic for some scenarios, but it works well most
of the time. I've forked it and fixed a few issues (not correctly
escaping boolean values in DB conditions, for instance) at:

It may be overkill for your app, as it also generates a default
MessagesController, but could be of some inspiration.

--Matt Jones
This topic is locked and can not be replied to.