# Join Association Question

**URL:** <https://www.ruby-forum.com/t/join-association-question/142601>\
**Category:** Rails\
**Created:** [July 9, 2008, 4:57pm UTC](https://www.ruby-forum.com/t/join-association-question/142601 "2008-07-09T16:57:16Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jorg\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/76d3ee/32.png) [@Jorg\_L](https://www.ruby-forum.com/u/Jorg_L)\
**Post date:** [July 9, 2008, 4:57pm UTC](https://www.ruby-forum.com/t/join-association-question/142601/1 "2008-07-09T16:57:16Z")

</div>

I have Employee and Skillset which are joined through an Association  
employees\_skillsets. When I use the for to add a new employee and  
mapping one or more id’s from skillset into employee\_skillset\_ids  
everything works. Where I have issues is in two places

1. When I destroy an employee or a skillset the associated records are  
not automatically removed from employees\_skillsets

2. How do I create an assocoation in the console.

> > @employee = Employee.find(:first)  
> > =\> #\<Employee id: 100, \>\>  
> > @skillset = Skillset.find(107)  
> > =\> #\<Skillset id: 107, "\>
> 
> > @employee.skillsets[0] = @skillset  
> > =\> #\<Skillset id: 107, \>
> 
> > @employee.save  
> > =\> true

Does not work.

> > @employee.skillset\_ids  
> > =\> []

What is the form doing?

> > @employee.skillset\_ids[0] = 107  
> > =\> 107
> 
> > @employee.skillset\_ids  
> > =\> []

---

<div class="post-metadata">

**Author:** ![Jorg\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/76d3ee/32.png) [@Jorg\_L](https://www.ruby-forum.com/u/Jorg_L)\
**Post date:** [July 9, 2008, 5:04pm UTC](https://www.ruby-forum.com/t/join-association-question/142601/2 "2008-07-09T17:04:55Z")

</div>

On Jul 9, 2008, at 10:56 AM, Jorg L. wrote:

> > > @employee = Employee.find(:first)  
> > > @employee.skillset\_ids  
> > > =\> []

Have you tried:

> > @employee.skillsets \<\< @skillset

> What is the form doing?
> 
> > > @employee.skillset\_ids[0] = 107  
> > > =\> 107  
> > > @employee.skillset\_ids  
> > > =\> []

-Rob

Rob B. [http://agileconsultingllc.com](http://agileconsultingllc.com)  
removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![Jorg\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/76d3ee/32.png) [@Jorg\_L](https://www.ruby-forum.com/u/Jorg_L)\
**Post date:** [July 9, 2008, 5:14pm UTC](https://www.ruby-forum.com/t/join-association-question/142601/3 "2008-07-09T17:14:56Z")

</div>

What worked is

employee = …  
skillset = …  
employeeskillset =  
EmployeesSkillset.new(:employee=\>employee, :skillset =\>skillset)  
employeeskillset.save

I did now know about this extra object.

I tried your suggestion and that works as well! Cool, thanks.

On Jul 9, 10:04 am, Rob B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
