Hmm, perhaps I dont understand the meaning of rails' 
has_and_belongs_to_many.

I require only the join table to be populated, NOT additional Award 
objects to be created in the DB.
A User should have many rows in awards_users (user_id, award_id).

So in terms of a user admin interface, I want to be able to select 
several (even duplicate) Awards that belong to a particular user (lets 
say awards with the ID's 1,2,3,3,4 and 6).

The result of saving this user would be rows in awards_users like:

award_id | user_id
    1         |     1
    2         |     1
    3         |     1
    3         |     1
    4         |     1
    6         |     1

Thanks.

Colin Law wrote in post #1106758:
> On 24 April 2013 09:19, Paul Ols <li...@ruby-forum.com> wrote:
>> the award model that is built is an actual Award model, not an
>> AwardsUser model, like I would expect.
>> so, If i try to save the user model it violates the primary key index
>> because it is also trying to save a new Award, with the id 1.
>> I was expecting this to create a new row in the awards_users table
>> instead, with the user_id and award_id of 1.
>>
>> Any ideas where I've gone wrong?
>
> You should not try and set the id manually, let Rails take care of that.
> award = u.awards.build
> should build an award object, then award.save should save it.
>
> Having said that I much prefer to use has_many through and manage the
> join table myself.  I find it easier to follow what is happening.
>
> Colin

-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to