2012-07-30 118 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