A ver si me pueden ayudar. Si no lo he soñado, se que existe. Lo que
pasa que ahora no lo encuentro.
La cuestión es la siguiente:
<%= @ruta.reverse.collect { |x| link_to(x.name, folder_path(x)) + " >
" } %>
Teniendo eso, por cada elemento de ruta imprime al final el carácter
“>”, pero quiero que en el último elemento no lo imprima.
¿Hay alguna funcionalidad que haga esto?
Saludos.
Hola Valentin, podrias hacer lo siguiente:
<% last = @ruta.reverse.last %>
<%= @ruta.reverse.collect { |x| link_to(x.name, folder_path(x)) + ( x.id
last.id ? “” : “>” ) } %>
Es una salida algo fea pero te da una idea del codigo, creo que seria
ideal
que el controlador le dea estas variables ya preparadas a la vista.
Saludos.
2008/4/22 ValentÃn Palacios [email protected]:
On Tue, Apr 22, 2008 at 7:42 PM, Valentín Palacios
[email protected] wrote:
¿Hay alguna funcionalidad que haga esto?
Saludos.
Lo que tu quieres se llama join:
@ruta.reverse.map {|x| link_to(x.name, folder_path(x)}.join(" > ")
y listo.
http://ruby-doc.org/core/classes/Array.html#M002205
Suerte.
El 22/04/2008, a las 19:42, Valentín Palacios
escribió:> La cuestión es la siguiente:
<%= @ruta.reverse.collect { |x| link_to(x.name, folder_path(x)) + " >
" } %>
Teniendo eso, por cada elemento de ruta imprime al final el carácter
“>”, pero quiero que en el último elemento no lo imprima.
¿Hay alguna funcionalidad que haga esto?
@ruta.reverse.collect{ |e| link_to(e.name,folder_path(e))}.join (" > ")
Espero que te sirva
Un Saludo
Muchas gracias a los dos. Funciona estupendamente.
El 22/04/2008, a las 22:59, Guillermo Álvarez Fernández
escribió:
.join (" > ")