Problemi con relazioni tra tabelle

ciao a tutto il gruppo, sono nuovo di ruby e rails, sto provando a
creare una piccola todolist ma mi sono bloccato su una cosa penso
banale, ho creato 2 tabelle una chiamata “companies” e l’altra “users”
che ha un campo azienda_id, nel modello company ho inserito:
has_many :users
mentre nel modello user ho inserito:
belongs_to :company
quando faccio la visualizzazione della lista utenti non riesco ad
associare l’id dell’azienda con il nome, solo il numero.
Ho provato così ma non funziona
<%= user.company.azienda %> mi ritorna l’errore
You have a nil object when you didn’t expect it!
chi mi sa dare una mano?
grazie Michele

“company_id” non “azienda_id” nella tabella users.

2008/6/26 Michele M. [email protected]:

Michele M. wrote:

ciao a tutto il gruppo, sono nuovo di ruby e rails, sto provando a
creare una piccola todolist ma mi sono bloccato su una cosa penso
banale, ho creato 2 tabelle una chiamata “companies” e l’altra “users”
che ha un campo azienda_id, nel modello company ho inserito:
has_many :users
mentre nel modello user ho inserito:
belongs_to :company
quando faccio la visualizzazione della lista utenti non riesco ad
associare l’id dell’azienda con il nome, solo il numero.
Ho provato così ma non funziona
<%= user.company.azienda %> mi ritorna l’errore
You have a nil object when you didn’t expect it!
chi mi sa dare una mano?
grazie Michele

Ciao Michele,
non puoi chiamare il nome della tabella in inglese, e la key
in italiano!! Credo sia appunto questo il tuo problema.

Devi chiamarla company_id e non azienda_id!!

Poi:

<%= user.company.name %> se nella tabella company hai inserito una
colonna
di nome “name”.

Spero di essere stato chiaro…

http://n-solutions.it/

Oggi sono “sincrono” :slight_smile:

La tua risposta comunque era molto più approfondita della mia…

Il 26 giugno 2008 15.02, Ale Z. [email protected] ha scritto:

Ale Z. wrote:

Michele M. wrote:

ciao a tutto il gruppo, sono nuovo di ruby e rails, sto provando a
creare una piccola todolist ma mi sono bloccato su una cosa penso
banale, ho creato 2 tabelle una chiamata “companies” e l’altra “users”
che ha un campo azienda_id, nel modello company ho inserito:
has_many :users
mentre nel modello user ho inserito:
belongs_to :company
quando faccio la visualizzazione della lista utenti non riesco ad
associare l’id dell’azienda con il nome, solo il numero.
Ho provato così ma non funziona
<%= user.company.azienda %> mi ritorna l’errore
You have a nil object when you didn’t expect it!
chi mi sa dare una mano?
grazie Michele

Ciao Michele,
non puoi chiamare il nome della tabella in inglese, e la key
in italiano!! Credo sia appunto questo il tuo problema.

Devi chiamarla company_id e non azienda_id!!

Poi:

<%= user.company.name %> se nella tabella company hai inserito una
colonna
di nome “name”.

Spero di essere stato chiaro…

http://n-solutions.it/

Grazie mille!!
risolto semplicemente come avete detto voi ho cambiato il nome del campo
della tabelle e tutto funziona.
Come mai allora nella select che avevo fatto precedentemente, per
visualizzare le aziende nell’inserimento di nuovi utenti tutto
funzionava anche con id_azienda? bho?
comunque grazie a entrambi.
ciao Michele

Carlo, hai risposto mentre stavo scrivendo… Non volevo duplicare la
risposta =)

Forse semplicemente perchè non c’era nessuna relazione tra user e
company, ma andavi a leggere solamente i records appartenenti alla
tabella companies.

Blog Rails << http://n-solutions.it/

Michele M. wrote:

Ale Z. wrote:

Michele M. wrote:

ciao a tutto il gruppo, sono nuovo di ruby e rails, sto provando a
creare una piccola todolist ma mi sono bloccato su una cosa penso
banale, ho creato 2 tabelle una chiamata “companies” e l’altra “users”
che ha un campo azienda_id, nel modello company ho inserito:
has_many :users
mentre nel modello user ho inserito:
belongs_to :company
quando faccio la visualizzazione della lista utenti non riesco ad
associare l’id dell’azienda con il nome, solo il numero.
Ho provato così ma non funziona
<%= user.company.azienda %> mi ritorna l’errore
You have a nil object when you didn’t expect it!
chi mi sa dare una mano?
grazie Michele

Ciao Michele,
non puoi chiamare il nome della tabella in inglese, e la key
in italiano!! Credo sia appunto questo il tuo problema.

Devi chiamarla company_id e non azienda_id!!

Poi:

<%= user.company.name %> se nella tabella company hai inserito una
colonna
di nome “name”.

Spero di essere stato chiaro…

http://n-solutions.it/

Grazie mille!!
risolto semplicemente come avete detto voi ho cambiato il nome del campo
della tabelle e tutto funziona.
Come mai allora nella select che avevo fatto precedentemente, per
visualizzare le aziende nell’inserimento di nuovi utenti tutto
funzionava anche con id_azienda? bho?
comunque grazie a entrambi.
ciao Michele