2016-04-27 2 views
2

Я хотел бы показать, например:Как совместить дату с счетчиком?

Day 1 with Sun, 24 April 2016 
Day 2 with Sun, 25 April 2016 
Day 3 with Sun, 26 April 2016 
etc... 

Все даты, однако в настоящее время перечислены в каждой days_challenged.

<% @challenge.days_challenged.times do |counter| %> 
     <div class="text-background"> 
     Day <%= counter + 1 %> 
     <%= @challenge.dates_challenged %> 
     <%= render "notes/notes" %> 
     <%= render "notes/form" %> 
     </div> 
    <% end %> 

enter image description here

ответ

1

Вы должны цикла их обоих вместе. Например:

<% @challenge.dates_challenged.first(@challenge.days_challenged).each_with_index do |date, i| %> 
    <div class="text-background"> 
    Day <%= i + 1 %> 
    <%= date %> 
    <%= render "notes/notes" %> 
    <%= render "notes/form" %> 
    </div> 
<% end %> 

Это займет столько же дней, сколько и «пропущенных» записей, и повторите их.

+0

Отлично! Да, я пробовал две разные итерации и получал все дурацкие вещи. Спасибо за знание:] –

+1

Обычно в Ruby есть простой способ сделать это, поэтому, если вы когда-либо обнаружите, что застряли в сорняках, просмотрите документы для [Перечислимые] (http://ruby-doc.org). /core-2.3.1/Enumerable.html). Там есть много интересных инструментов. – tadman

Смежные вопросы