Я хочу получить представление о том, как достичь следующего. У меня есть простой 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
Как я могу захватить только одно изображение, если есть кратные? Это было бы? хотя не уверены в синтаксисе и как он будет вписываться в мой код ... Или я создам отдельный блок и поместил бы его в оператор if, если количество изображений больше 1?
Любая помощь оценивается?
Не совсем уверен, что вы пытаетесь сделать. Вы хотите, чтобы пользователь видел только что загруженные изображения, а не все изображения, которыми он владеет? Или вы хотите, чтобы пользователь мог видеть первое изображение (возможно) нескольких изображений, которые он загрузил? –
см. Первое изображение потенциально многих (не всегда много изображений) – Richlewis
Попробуйте сыграть с этой строкой '<% p.images.each do | i | %> '. Я предполагаю, что это массив, использование '.last' или' .first' будет моей первой ставкой, зависит от того, как вы храните фотографии при загрузке. –