Tu peux oui. C'est même surement une bien meilleure solution que celle que
j'ai proposé. Je t'avoue que j'ai plus le mcd du résultat final de mon
"étude" sous la main et maintenant que tu le dis, j'ai peut être bien du
faire comme toi.

Bref, tu vois le bout du tunnel Nikog =)


Le 20 février 2012 16:59, Guillaume Betous <[email protected]> a
écrit :

> Ok, mais je voulais dire carrément mettre sender_id dans le modèle
> message. Du coup c'est un simple "has one sender", sans le through.
> Pas de contre indication ?
>
> gUI
>
> Le 20 février 2012 16:49, Florian Dutey <[email protected]> a écrit :
>
> On peut très bien utiliser un has_one :sender, :through => :recipients au
>> lieu d'un has many.
>> C'est plus logique en effet =).
>>
>> Le 20 février 2012 16:22, Guillaume Betous <[email protected]>a 
>> écrit :
>>
>> Questions :
>>>
>>> En faisant comme ça, tu autorises le fait qu'un message a plusieurs
>>> senders ?
>>>
>>> Pour tu n'as pas laissé sender_id dans le modèle message ?
>>>
>>> gUI
>>>
>>> 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]
>>>>
>>>
>>>
>>>
>>> --
>>> Pour la santé de votre ordinateur, préférez les logiciels libres.
>>> Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
>>> Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
>>> Suite bureautique : http://www.libreoffice.org/download/
>>>
>>>  --
>>> 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]
>>
>
>
>
> --
> Pour la santé de votre ordinateur, préférez les logiciels libres.
> Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
> Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
> Suite bureautique : http://www.libreoffice.org/download/
>
> --
> 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]

Répondre à