Recentemente ho deciso di voler elencare tutti gli users
nell'applicazione Ruby On Rails - poiché non riuscivo a capire come elencarli in un altro modo, Ho deciso di usare partial. Ho il seguente sulla mia pagina di amministrazione (solo collegato ad un proprio controller amministrazione):Ruby On Rails - "metodo non definito 'id' per 4: Fixnum"
<%= render :partial => User.find(:all) %>
Ho poi un file chiamato _user.html.erb
nei miei utenti visualizzano la cartella. Questo contiene quanto segue:
<ul>
<% div_for @user.object_id do %>
<li><%= link_to user.username, user.username %></li>
<% end %>
</ul>
Quando l'applicazione viene eseguita e vado alla pagina di amministrazione, ottengo il seguente errore:
undefined method `id' for 4:Fixnum
E dice che è a causa di questa linea (che è nel parziale file):
<% div_for @user.object_id do %>
non sono sicuro perché questo accade (e googled per ore per cercare di trovare i risultati e trovare solo soluzioni che non funzionano per me). Penso che sia qualcosa a che fare con il mio utilizzo della variabile di istanza @user
, ma non ne sono completamente sicuro.
Utilizzando @user ottengo l'errore: "id per nil Called, che sarebbe erroneamente essere 4 - se si voleva davvero l'id pari a zero, utilizzare object_id" –
@ Joesavage1: Se stai usando rails 3, devi usare 'user' invece di' @ user' (e se non lo sei, dovresti comunque usare 'user' perché in questo modo funzionerà con qualsiasi versione di rails). – sepp2k
Grazie mille! Usare "utente" invece di "@user" funziona bene! : D –