2011-08-04 14 views
7

Soy algo nuevo en Ruby on Rails y he estado aprendiendo muy bien, pero parece que me encuentro con un problema que parece que no puedo resolver.Ruby on Rails 3. Cada uno hace el problema

carriles de rodadura 3.0.9 & de Ruby 1.9.2

estoy ejecutando la siguiente instrucción en mi opinión:

<%= @events.each do |f| %> 
    <%= f.name %><%= link_to "View", event_path(f) %><br/><hr/> 
<% end %> 

Y esto en mi controlador:

class AdminController < ApplicationController 
    def flyers 
    @events = Event.all 
    end 
end 

Este revisa cada uno de los registros y genera el nombre apropiado, pero el problema es que al final muestra toda la información de todos los registros, como sigue:

[#<User id: 1, username: "test account", email: "[email protected]", password_hash: "$2a$10$Rxwgy.0ZEOb0lMGEIliPBeB/jPSp8roeKdbMvXcLi32R...", password_salt: "$2a$10$Rxwgy.0ZEOb0lMGEIliPBe", created_at: 2111359287.2303703, updated_at: 2111359287.2303703, isadmin: true>] 

soy nuevo en este sitio, así que no estoy seguro de si se necesita más detalles, pero cualquier ayuda se agradece, después de todo, todavía estoy aprendiendo.

Gracias de antemano.

Respuesta

13

Debería utilizar <%, no <%= para su línea .each, por lo

<%= @events.each do |f| %> 

debería ser

<% @events.each do |f| %> 
+0

Problemas aprendiendo Rieles ..... ¡Gracias! –

9

.each vuelve toda la matriz al final una vez que se termina el ciclo. <%= ... %> imprime el valor de la declaración, que es el valor devuelto por .each <% ... %> no. Entonces usted quiere:

<% @events.each do |f| %> 
    <%= f.name %><%= link_to "View", event_path(f) %><br/><hr/> 
<% end %> 
+0

¡Muchas gracias! Esto solucionó el problema: D – Amzziipan