On 6 Nov 2008, at 14:00, TomRossi7 wrote:

>
> Fred,
>
> Thanks for the reply!  The :uniq is good work around, but multiple
> entries are still added to the database.  The unique index will
> actually cause ActiveRecord to throw an error since it is trying to
> create a duplicate record.
>
> This seems like a bug to me that it creates duplicate records?  I can
> code around it, but wanted to make sure I wasn't missing something.
>
I don't think it's necessarily a bug. Depend on how you are using it  
duplicate records in an association might be allowed, or might not,  
it's not the frameworks job to say 'collections shall have no  
duplicates'. I'm slightly surprised that uniq only affects reading  
from the collection, I suppose the thing is that normally categories  
<< post does not require loading the collection whereas if it checked  
if categories.include?(post) that would force the collection to be  
loaded (at least it would have previously - I seem to recall the  
include? no longer causes the collection to be loaded)

Fred
> Thanks,
> Tom
>
> On Nov 6, 5:21 am, Frederick Cheung <[EMAIL PROTECTED]>
> wrote:
>> On 5 Nov 2008, at 23:01, TomRossi7 wrote:
>>
>>
>>
>>> Lets say you have a relationship like post has and belongs to many
>>> categories.  If I were to do something like the following:
>>
>>> category << post
>>> category << post
>>> category << post
>>
>>> I've basically assigned the post to the category three times.  I'm
>>> noticing that in my join table there are now three join records?
>>> Shouldn't it only have one?
>>
>> If that's what you require, set the :uniq option on the association
>> (and create a unique index on that table to enforce that if you are  
>> so
>> enclined)
>>
>> Fred
>>
>>
>>
>>> This causes problems when you do category.posts and you get the same
>>> post three times.  I'm just wondering if I am missing something  
>>> here?
>>
>>> Thanks,
>>> Tom
> >


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to