# Has\_many e belongs\_to

**URL:** <https://www.ruby-forum.com/t/has-many-e-belongs-to/100698>\
**Category:** IT\
**Created:** [July 31, 2006, 3:13pm UTC](https://www.ruby-forum.com/t/has-many-e-belongs-to/100698 "2006-07-31T15:13:57Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![francesco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/e47c2d/32.png) [@francesco](https://www.ruby-forum.com/u/francesco)\
**Post date:** [July 31, 2006, 3:13pm UTC](https://www.ruby-forum.com/t/has-many-e-belongs-to/100698/1 "2006-07-31T15:13:57Z")

</div>

Salve ragazzi,  
da relativamente nuovo per RoR ho una domanda spero stupida da porvi.  
Please, help me!  
Ho una tabella Utenti e una Progetti.  
La colonna Progetti.creatore contiene l’id dell’utente.

Questi sono i modelli:

class Utenti \< ActiveRecord::Base  
set\_primary\_key “id\_utente”  
has\_many :progetti  
end

class Progetti \< ActiveRecord::Base  
set\_primary\_key “cod\_progetto”  
belongs\_to :utenti, :class\_name =\> “Utenti” , :foreign\_key =\>  
“creatore”  
end

Se chiedo i metodi pubblici di Utenti (nel metodo show in  
UtentiController) ottengo, tra l’altro, anche: progetti,  
create\_in\_progetti, progetti\_count, …  
.  
Se nella riga successiva eseguo un @utente.progetti ottengo il seguente  
errore:

active\_support/dependencies.rb:100:in `const\_missing’: uninitialized  
constant Progettus

Per completezza vi aggiungo che ho disabilitato la naming\_convention  
per i plurali a livello di application (/config/enviroment.rb -\>  
ActiveRecord::Base.pluralize\_table\_names = false)  
Inoltre le chiamate “al contrario”, cioÃ¨ da Progetti ad utente,  
funzionano.

Dove sbaglio?  
Ogni aiuto sarÃ apprezzatissimo, grazie  
Francesco

---

<div class="post-metadata">

**Author:** ![francesco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/e47c2d/32.png) [@francesco](https://www.ruby-forum.com/u/francesco)\
**Post date:** [July 31, 2006, 6:30pm UTC](https://www.ruby-forum.com/t/has-many-e-belongs-to/100698/2 "2006-07-31T18:30:39Z")

</div>

On 7/31/06, Francesco [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> class Utenti \< ActiveRecord::Base  
> set\_primary\_key “id\_utente”  
> has\_many :progetti  
> end

has\_many (se non si indica la class\_name ) richiede di specificare il  
nome plurale del modello (has\_many :projects … se la classe e’  
Project).  
Nel tuo caso ActiveRecord prova a rendere singolare progetti ottenendo  
“Progettus”.

ciao,  
Luca

---

<div class="post-metadata">

**Author:** ![francesco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/e47c2d/32.png) [@francesco](https://www.ruby-forum.com/u/francesco)\
**Post date:** [July 31, 2006, 6:47pm UTC](https://www.ruby-forum.com/t/has-many-e-belongs-to/100698/3 "2006-07-31T18:47:23Z")

</div>

Luca M. wrote:

> On 7/31/06, Francesco [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > class Utenti \< ActiveRecord::Base  
> > set\_primary\_key “id\_utente”  
> > has\_many :progetti  
> > end
> 
> has\_many (se non si indica la class\_name ) richiede di specificare il  
> nome plurale del modello (has\_many :projects … se la classe e’  
> Project).  
> Nel tuo caso ActiveRecord prova a rendere singolare progetti ottenendo  
> “Progettus”.
> 
> ciao,  
> Luca

Grazie, adesso funziona!  
Credevo fosse sufficiente impostare le chiamate set\_primary\_key e  
ActiveRecord::Base.pluralize\_table\_names = false

ancora grazie!  
Francesco

---

<div class="post-metadata">

**Author:** ![francesco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/e47c2d/32.png) [@francesco](https://www.ruby-forum.com/u/francesco)\
**Post date:** [August 3, 2006, 12:23pm UTC](https://www.ruby-forum.com/t/has-many-e-belongs-to/100698/4 "2006-08-03T12:23:09Z")

</div>

Il 31-07-2006 Francesco ha scritto:

> Credevo fosse sufficiente impostare le chiamate set\_primary\_key e  
> ActiveRecord::Base.pluralize\_table\_names = false

Ma adesso devo proprio chiedertelo… con tutte le comoditÃ che Rails  
offre usando nomi inglesi, cosa ti spinge ad usarli italiani e fare il  
popo’ di configurazione necessario?
