[Ror-es] Ayuda con un codigo
Víctor Martínez garcía
ruby-forum-incoming at andreas-s.net
Fri Jan 5 10:10:45 GMT 2007
Hola, no sé si he entendido lo que quieres hacer. ¿Es una acción animes
en el controlador que te lleve a una pagina en la que tengas un listado
de todos los animes y que cada nombre del anime sea un enlace a un
action articulo pasándole como parametro el id del anime? Si es así
puedes hacerlo de esta manera:
index_controller.rb:
def animes
@animes_pages, @animes = paginate :animes, :order => 'name asc'
render :action => 'lista_series'
end
Esto no cambia(bueno yo he llamado al atributo name pero es lo mismo).
lista_series.rhtml:
<%= render(:partial => "anime", :collection => @animes) %>
<div id="pagination">
<%= pagination_links (@animes_pages) %>
</div>
<%= link_to 'Volver', :action => 'index' %>
_anime.rhtml:
<div id="post">
<%= link_to anime.name, :action => 'articulo', :anime_id => anime.id %>
</div>
He cambiado el nombre del partial a _anime.rhtml porque de esta manera
al hacer
<%= render(:partial => "anime", :collection => @animes) %> le estamos
pasando para cada elemento de la colección @animes una variable que en
cada momento es anime y nos permite hacer en _anime.rhtml:
anime.name ó anime.id
es decir el nombre del partial se identifica con el nombre de la
variable que itera por la colección.
Si no es esto lo que quieres hacer espero que por lo menos te sirva de
guía.
Lo que tenías de @animes.nombres me parece extraño porque @animes es la
coleccion, es un array y estás accediendo a un metodo (nombres) que no
existe.
Pero igual lo he entendido mal y no quieres hacer lo que he hecho.
Un Saludo.
Crohno wrote:
> ola, veran tengo un codigo que no deja de joderm** y queria pedir ayuda
> ya que hace 2 dias que llevo intentado solucionarlo
>
> index_controller.rb:
>
> def animes
> @animes_pages, @animes = paginate :animes, :order => 'nombre asc'
> render :action => 'lista_series'
> end
>
> lista_series.rhtml:
>
> <% for anime in @animes -%>
> <div class="post">
> <%= render_partial "lista_serie", anime %>
> </div>
> <% end %>
> <div id="pagination">
> <%= pagination_links (@animes_pages) %>
> </div>
> <%= link_to 'Volver', :action => 'index' %>
>
> _lista_serie.rhtml:
>
> <div id="post">
> <%= link_to @animes.nombres, :action => 'articulo', :anime_id => anime
> %>
> </div>
>
>
> La parte de la base de datos(la de la tabla animes):
>
> id => int
> nombre => varchar
> imagen => varchar
>
>
>
> el error que me da es:
> undefined method `nombres' for #<Array:0x25f8f60> en la linea dos, que
> seria:
> <%= link_to @animes.nombres, :action => 'articulo', :anime_id => anime
> %>
--
Posted via http://www.ruby-forum.com/.
More information about the Ror-es
mailing list