Of course, on further thought, The downside to this ID reordering is that I'd lose the data about who did the request.
For the 'friendship', it doesn't matter. I.e. Person 1 is connected to Person 2 is exactly the same functionally as Person 2 is connected to Person 1 (in my app, that is). But there may be value in knowing which person started the process (i.e. the "sender"). Hmmm... I guess a custom validation it is. -Danimal On Mar 11, 7:38 am, Danimal <[email protected]> wrote: > Hi Robert! Thanks for the post. > > Your thought would work, except that it's very much like 'friendship' > in that it's immaterial who requested the 'friendship'. And that's the > crux of it. Since Person 1 or Person 2 could be the sender/requester, > it has to check both ways. > > Then again, I just had a thought. Perhaps given two people, the lower > ID is always set as the sender and the other as the receiver. Hmmm... > then, the order would always be known. > > If Person 2 requests friendship with Person 1, the friendship object > is saved with sender=>1, receiver=>2 > Then, if later Person 1 requests friendship with Person 2, it's saved > as sender=>1, receiver=>2 and it would fail validation. > > Interesting... I need to noodle on that a bit more and see if that > would work thoroughly. > > Thanks! > > -Danimal > > On Mar 11, 5:08 am, "Robert Pankowecki (rupert)" > > <[email protected]> wrote: > > You could alway store them in known order so that > > sender.id <= reciver.id > > and use scoped validates_uniqueness_of. > > > Assuming that sender and reciver can be exchanged in this relationship > > and does not have any additional meaning. > > > Like 'friendship' when it does not matter who is friend A and who is > > friend B > > > Robert Pankowecki -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

