Loading...

railsfrance@googlegroups.com

[Prev] Thread [Next]  |  [Prev] Date [Next]

Re: [RailsFr] problème de concept sur application Nikog Mon Feb 20 08:00:11 2012

Merci avec donc une relation :

User Model
has_many :messages, :through  => :recipient

Message Model
has_many :users, :through  => :recipient

On est d'accord ?

Cela ressemble à une bonne option en effet.
De loin le problème me semblait trivial mais une fois penché dessus j'ai
commencé à me torturer les méninges (ce qui fait du bien dans un sens).

Je vais essayer cela.

Cordialement.




Le 20 février 2012 15:58, Florian Dutey <[EMAIL PROTECTED]> a écrit :

> Un modèle "recipient" avec
>
> - sender_id (user)
> - receiver_id (user)
> - message_id (message)
> - read (boolean)
> - deleted (boolean)
>
> me semble être la meilleure solution.
> Ce modèle te permet d'adjoindre de nombreux comportements:
>
> * suppression par utilisateur tout en gardant la liste de tous les
> destinataires
> * gestion read/unread par utilisateur
> * un message est détruit quand tous les receivers et le sender l'ont
> marqué comme détruit
>
> J'avais eu la même problématique que toi et j'avais envisagé toutes les
> solutions. J'avais retenu celle-ci.
>
> Le 20 février 2012 15:23, Nikog <[EMAIL PROTECTED]> a écrit :
>
>> Bonjour
>>
>> j'ai un problème de conception sur une nouvelle application avec
>>
>> des Users qui peuvent envoyer des messages à plusieurs autres Users ainsi
>> qu'à eux-mêmes.
>> Et je veux pouvoir récupérer tous les messages envoyés par un user et
>> tous ceux adressé à un user
>> J'ai donc deux modèles
>>
>> User
>> Message
>>
>> quelle est la relation que vous me conseillez entre les deux ?
>>
>> J'avais pensé faire comme des tags avec des cases à cocher avec une
>> relation de type has_many through et un modèle intermédiaire mais j'ai peur
>> que cela ne coince quelque part ...
>>
>> Merci de votre aide
>>
>>
>> Nikog
>>
>>
>>  --
>> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance"
>> de Google Groups.
>> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
>> [EMAIL PROTECTED]
>> Pour résilier votre abonnement envoyez un e-mail à l'adresse
>> [EMAIL PROTECTED]
>
>
>  --
> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
> Google Groups.
> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
> [EMAIL PROTECTED]
> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> [EMAIL PROTECTED]

-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [EMAIL 
PROTECTED]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]