为Rails中的每个2条记录渲染另一个集合

为Rails中的每个2条记录渲染另一个集合

问题描述:

我有JobProject模型。 我需要在每个2个作业之后呈现项目记录。有2个AR类别:@jobs@projects为Rails中的每个2条记录渲染另一个集合

例如:

Job 1 
Job 2 
Project 1 
Job 3 
Job 4 
Project 2 

我怎样才能做到这一点?

+1

你总是让2n个就业机会和n的项目?或者在某些时候,你可能没有足够的工作来渲染所有项目? – Leito

+0

作业是否与您交错的项目相关? – Jon

+0

@Leito有时候没有足够的工作,但项目必须在那里。见http://stackoverflow.com/questions/35209125/render-another-collection-for-each-2-records-in-rails#comment58136221_35209344 –

<%= @jobs.each_with_index do |job, index| %> <!-- index starts from 0 --> 
    <%= job %> # render job 
    <%- if index % 2 == 1 -%> <!-- for Job with ids 2, 4, 6, ... --> 
     <%= @projects[index/2] %> <!-- render project --> 
    <%- end -%> 
<%- end -%> 
  • 作业1,索引= 0

    • index%2 = 0 =>无图示
  • 作业2项目,索引= 1

    • index%2 = 1 =>项目sh自己的作业后
    • 项目1
  • ....
+0

'0%1'为'0'。所以你会得到'工作..项目..工作..项目...工作..工作..项目 – Jon

+0

谢谢@Jon我已经修复了这个问题 – Nermin

+0

除了你最近的更新...'什么%1'是总是'0'。所以没有项目会被显示。 – Jon