为Rails中的每个2条记录渲染另一个集合
问题描述:
我有Job
和Project
模型。 我需要在每个2个作业之后呈现项目记录。有2个AR类别:@jobs
和@projects
为Rails中的每个2条记录渲染另一个集合
例如:
Job 1
Job 2
Project 1
Job 3
Job 4
Project 2
我怎样才能做到这一点?
答
<%= @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
-
- ....
你总是让2n个就业机会和n的项目?或者在某些时候,你可能没有足够的工作来渲染所有项目? – Leito
作业是否与您交错的项目相关? – Jon
@Leito有时候没有足够的工作,但项目必须在那里。见http://stackoverflow.com/questions/35209125/render-another-collection-for-each-2-records-in-rails#comment58136221_35209344 –