0

很抱歉这个业余问题,但我对 Rails 还是很陌生。我目前有一个创建工作的应用程序,我想在创建日期下方显示工作,就像在Dribble上一样

目前显示我的工作如下:

 <% @jobs.each do |job| %>
   <div class="job-wrapper"><%= link_to user_job_path(job.user_id ,job) do %>
    <div class="job">
     <div class="job-desc"><strong><%= job.company %></strong> are looking for a <strong><%= job.job_title %></strong>
      <div class="job-sal"><%= job.job_salary %></div>
     </div>
    </div>
   </div>
  <% end %>
  <% end %>

我确定我需要创建某种循环来完成这项工作,但不确定如何合并它,以便日期仅在作业顶部显示一次,然后显示在该日期创建的所有作业?

任何帮助将非常感激!谢谢

4

1 回答 1

2

试试下面的模式——

<% @job.group_by{|x| x.created_at.to_date }.each do |date,jobs_on_that_date| %>
  <%= date %>
  <% jobs_on_that_date.each do |job| %>
    # render the job
  <% end %>
<% end %>

基本上,您需要按日期(或您想要分组的任何内容)对您的工作进行分组,然后在您分组的内容上获得一个哈希键。然后渲染键(日期),后跟与该键相关的对象列表。

于 2012-07-30T11:31:14.887 回答