Pregunta

En mi aplicación tengo un modelo de productos que tiene entre otras cosas cuatro campos para rutas de imágenes. Lo utilizo para crear una presentación de diapositivas.

Sin embargo, me gustaría tener todos los caminos en un campo de texto grande y separarlos por lo que funcione (salto de línea sería la más fácil de manejar en el formulario).

Estaba pensando algo como:

<% for ... in @screenshots %>  
    <%= lightbox_to(@product.screenshot, @product.screenshot, "screenshots") %>  
<% end %>  

y sería la esperanza de que, para dar como resultado:

<%= lightbox_to(@product.screenshot1, @product.screenshot1, "screenshots") %>  
<%= lightbox_to(@product.screenshot2, @product.screenshot2, "screenshots") %>  
<%= lightbox_to(@product.screenshot3, @product.screenshot3, "screenshots") %>  
...

Su aportación es muy apreciada!

Val

¿Fue útil?

Solución

Si usted quiere tener todos los enlaces en un campo de texto, a continuación, puede utilizar dividida .

<% @product.screenshots.split.each do |screenshot| %>
  <%= lightbox_to(screenshot, screenshot, "screenshots" %>
<% end %>

Por defecto se divide en espacios en blanco. Sin embargo, se puede definir la condición de división por sí mismo.

Otros consejos

Suponiendo que las capturas @product has_many (y si no, utilizar @screenshots en lugar de @ product.screenshots abajo).

<% @product.screenshots.each do |screenshot| %>
   <%= lightbox_to(screenshot, screenshot, "screenshots") %>
<% end %>

(esto supone lightbox_to se invoca correctamente)

Si el producto realmente ha nombrado miembros separados 'screenshot1', 'screenshot2', etc., a continuación, haga lo siguiente:

<% [:screenshot1, :screenshot2, :screenshot3].each do |screenshot_name|
   screenshot = @product.send screenshot_name %>
  <%= lightbox_to(screenshot, screenshot, "screenshots") %>
<% end %>`
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top