Recientemente decidí que quería enumerar todos los users
en mi aplicación Ruby On Rails, ya que no pude encontrar la manera de enumerarlos de otra manera, Decidí usar parciales. Tengo el siguiente en mi página de administración (simplemente conectado a un controlador de su propia administración):Ruby On Rails - "método indefinido 'id' para 4: Fixnum"
<%= render :partial => User.find(:all) %>
Entonces tengo un archivo llamado _user.html.erb
en mis usuarios ver la carpeta. Este contiene lo siguiente:
<ul>
<% div_for @user.object_id do %>
<li><%= link_to user.username, user.username %></li>
<% end %>
</ul>
Cuando se ejecuta la aplicación y yo vamos a la página de administración, me sale el siguiente error:
undefined method `id' for 4:Fixnum
Se dice que es porque de esta línea (que se encuentra en el parcial archivo):
<% div_for @user.object_id do %>
estoy seguro de por qué sucede esto (y han buscado en Google durante horas para tratar de encontrar resultados y sólo encontrar soluciones que no funcionan para mí). Creo que tiene algo que ver con mi uso de la variable de instancia @user
, pero no estoy del todo seguro.
Usando @user me sale el error: "Identificación de Llamada nula, lo que erróneamente ser de 4 - si realmente quería el id de cero, utilice object_id" –
@ Joesavage1: si está utilizando rails 3, debe usar 'user' en lugar de' @ user' (y si no lo está, debe usar 'user' de todos modos, ya que de esa forma funcionará con cualquier versión de rails). – sepp2k
¡Muchas gracias! ¡Usar "usuario" en lugar de "@ usuario" funciona de maravilla! : D –