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

この作業を行うには、ある種のループを作成する必要があると確信していますが、日付がジョブの上部に1回だけ表示され、その日付の間に作成されたすべてのジョブが表示されるように、それを組み込む方法がわかりません。

どんな助けでも大歓迎です!ありがとう

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 に答える