【发布时间】:2014-02-01 07:56:25
【问题描述】:
我想了解如何实现以下目标。我有一个简单的 cms,可让您上传投资组合信息/图像。用户可以上传一张图片或多张图片。
为了显示每张图片,我使用 .each 并遍历每个投资组合的所有图片...
<!-- Project Feed -->
<div class="project-feed clearfix">
<% @portfolios.each do |p| %>
<div class="one-third project-item"><!-- add data filter class here to enable selection of sectors-->
<% p.images.each do |i| %>
<%= image_tag(i.photo.url(:portfolio_square)) %>
<div class="overlay">
<!-- Small image bottom right of overlay, click and can navigate through all images
<%= image_tag(i.photo.url(:portfolio_large), :class => 'lightbox-link folio', :rel => 'gallery') %> -->
<%= link_to p do %>
<h5><%= p.title %> </h5>
<% end %>
<p>
<%= p.sectors.map(&:name).join(", ") %>
</p>
</div><!--/overlay-->
<h4><%= p.title %></h4>
</div>
<% end %>
<% end %>
我的问题是,如果有多个图像分配给投资组合(假设投资组合 3 有 4 个与之关联的图像),那么它们都会显示......
所以我想实现这个布局
Portfolio 1 Portfolio 2 Portfolio 3
相对于
Portfolio 1 Portfolio 2 Portfolio 3
Portfolio 3 Portfolio 3 Portfolio 3
如果有多张图片,我怎样才能只抓取一张图片?这会是.first吗?虽然不确定语法以及它如何适合我的代码......或者如果图像计数超过 1,我是否会创建一个单独的块并将其放入 if 语句中?
任何帮助表示赞赏?
【问题讨论】:
-
不完全确定您要做什么。您是否希望用户看到他刚刚上传的图像而不是他拥有的所有图像?或者您希望用户能够看到他上传的(可能)多张图片中的第一张图片?
-
查看第一张可能有很多的图片(并不总是多张图片)
-
尝试使用这条线
<% p.images.each do |i| %>。我猜这是一个数组,使用.last或.first将是我的第一个赌注,这取决于您在上传时如何存储图片。 -
我试过了 但是当我使用它时没有显示图像
标签: ruby arrays ruby-on-rails-3 paperclip