在创建日期之前列出对象

时间:2012-07-30 11:23:14

标签: ruby-on-rails ruby-on-rails-3.1

对不起业余的问题,但我还是很新的铁路。我目前有一个创建工作的应用程序,我希望以与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 %>

我确信我需要创建某种循环才能使其工作,但我不确定如何合并它以便日期只在作业顶部显示一次,然后显示在该日期创建的所有作业?

任何帮助将不胜感激!感谢

1 个答案:

答案 0 :(得分: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 %>

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