2012-07-30 93 views
0

对于业余爱好者的问题很抱歉,但对于rails我还是比较陌生。我现在有一个创造就业机会的应用程序,我想显示日期下方他们在他们的Dribble根据创建日期列出对象

做同样的方式创建目前显示的作业我已经TE以下的工作:

<% @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 %> 

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

任何帮助将不胜感激!由于

回答

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 %> 

基本上你的(要在组或其他)的日期需要你组的工作然后得到一个哈希键安装在您分组上的东西。然后呈现键(日期),后跟与该键相关的对象列表。

+0

嗨,感谢您的回复,我不断收到'未定义的方法'group_by''虽然 - 任何想法如何解决这个问题?谢谢:) – 2012-07-30 17:20:41

+0

不知道@job是什么。尝试@ job.all.group_by {...} – 2012-07-30 18:23:31