# Collegare gli attributi dei modeiii

**URL:** <https://www.ruby-forum.com/t/collegare-gli-attributi-dei-modeiii/118152>\
**Category:** IT\
**Created:** [October 24, 2007, 10:22am UTC](https://www.ruby-forum.com/t/collegare-gli-attributi-dei-modeiii/118152 "2007-10-24T10:22:02Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![stratboy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/838e76/32.png) [@stratboy](https://www.ruby-forum.com/u/stratboy)\
**Post date:** [October 24, 2007, 10:22am UTC](https://www.ruby-forum.com/t/collegare-gli-attributi-dei-modeiii/118152/1 "2007-10-24T10:22:02Z")

</div>

Ho un problema.

Ho un database con 2 tabelle.

MAILS: id, receiver\_id,sender\_id,message

USERS: id, name

Come faccio a collegare nei modelli gli attributi receiver\_id e  
sender\_id con l’id della tabella users?  
per collegare intendo inserire i belongs\_to has\_many…

Se nn c’erano 2 attributi collegati con la stessa tabella potevo  
chiamare receiver\_id come user\_id e cosi potevo settare i modelli cosi:

class User \< ActiveRecord::Base  
has\_many:mails  
end

class Mail \< ActiveRecord::Base  
belongs\_to:user  
end

---

<div class="post-metadata">

**Author:** ![stratboy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/838e76/32.png) [@stratboy](https://www.ruby-forum.com/u/stratboy)\
**Post date:** [October 24, 2007, 11:51am UTC](https://www.ruby-forum.com/t/collegare-gli-attributi-dei-modeiii/118152/2 "2007-10-24T11:51:48Z")

</div>

On 10/24/07, Luca R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Come faccio a collegare nei modelli gli attributi receiver\_id e  
> sender\_id con l’id della tabella users?  
> per collegare intendo inserire i belongs\_to has\_many…

Rails si basa di default sulla tecnica Convention over configuration,  
ma cio` non toglie che metta a disposizione gli strumenti per  
specificare composrtamenti diversi da quelli di default.

Se ho capito il tuo modello, hai bisogno di qualcosa di simile.

class User \< ActiveRecord::Base  
has\_many :mails\_sent, :through =\> :mails  
has\_many :mails\_received, :through =\> :mails  
end

class Mail \< ActiveRecord::Base  
belongs\_to :sender, :foreign\_key =\> “sender\_id”  
belongs\_to :reciver, :foreign\_key =\> “receiver\_id”  
end

Ciao,  
FC

–  
Ing. Francesco C. ([http://www.fcioffi.net](http://www.fcioffi.net))  
Linux User id #340148 ([http://counter.li.org](http://counter.li.org))  
Debian GNU/Linux user ([http://www.debian.org](http://www.debian.org))  
Universita` del Sannio di Benevento ([http://www.grace.ing.unisannio.it](http://www.grace.ing.unisannio.it))  
SannioLUG ([http://www.sanniolug.org](http://www.sanniolug.org))
