Domanda

Nella mia domanda ho un modello di prodotti che ha tra le altre cose quattro campi per percorsi delle immagini. Io lo uso per costruire una proiezione di diapositive.

Tuttavia, mi piacerebbe avere tutti quei percorsi in un unico grande campo di testo e separati loro da quello che funziona (linebreak sarebbe il più facile da gestire in forma).

Stavo pensando qualcosa del tipo:

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

e sarebbe sperando che ciò si traducono in:

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

Il vostro contributo è molto apprezzato!

Val

È stato utile?

Soluzione

Se si desidera avere tutti i link in un campo di testo, quindi è possibile utilizzare spaccatura .

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

Per impostazione predefinita sarà diviso in spazi bianchi. Ma è possibile definire condizioni di scissione da soli.

Altri suggerimenti

Supponendo screenshot @product has_many (e se no, utilizzare @screenshots invece di product.screenshots @ in basso).

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

(ciò presuppone lightbox_to viene richiamato correttamente)

Se il prodotto ha davvero i membri separati chiamato 'screenshot1', 'screenshot2', ecc, quindi fare questo:

<% [:screenshot1, :screenshot2, :screenshot3].each do |screenshot_name|
   screenshot = @product.send screenshot_name %>
  <%= lightbox_to(screenshot, screenshot, "screenshots") %>
<% end %>`
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top