Omitir carácter en el último elemento

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 (" > ")

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs