Ruby on rails Rails—迭代一个字段中的db条目,以换行符分隔

Ruby on rails Rails—迭代一个字段中的db条目,以换行符分隔,ruby-on-rails,iteration,line-breaks,separator,Ruby On Rails,Iteration,Line Breaks,Separator,在我的应用程序中,我有一个产品模型,其中包括四个图像路径字段。我用它来制作幻灯片 然而,我希望将所有这些路径放在一个大的文本字段中,并用任何方法将它们分开(换行符在表单中最容易处理) 我的想法是: <% for ... in @screenshots %> <%= lightbox_to(@product.screenshot, @product.screenshot, "screenshots") %> <% end %> 并希望这

在我的应用程序中,我有一个产品模型,其中包括四个图像路径字段。我用它来制作幻灯片

然而,我希望将所有这些路径放在一个大的文本字段中,并用任何方法将它们分开(换行符在表单中最容易处理)

我的想法是:

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

并希望这能导致:

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

...
非常感谢您的意见


Val

假设@product有许多截图(如果没有,请使用@screenshots而不是下面的@product.screenshots)


(假设lightbox_被正确调用)

如果产品确实有单独的名为“screenshot1”、“screenshot2”等的成员,请执行以下操作:

<% [:screenshot1, :screenshot2, :screenshot3].each do |screenshot_name|
   screenshot = @product.send screenshot_name %>
  <%= lightbox_to(screenshot, screenshot, "screenshots") %>
<% end %>`

`

如果希望在一个文本字段中包含所有链接,则可以使用



默认情况下,它将在空白处拆分。但是您可以自己定义拆分条件。

如果屏幕截图的路径集中在产品模型的一个字段中,则不能使用此解决方案
<% [:screenshot1, :screenshot2, :screenshot3].each do |screenshot_name|
   screenshot = @product.send screenshot_name %>
  <%= lightbox_to(screenshot, screenshot, "screenshots") %>
<% end %>`
<% @product.screenshots.split.each do |screenshot| %>
  <%= lightbox_to(screenshot, screenshot, "screenshots" %>
<% end %>