我正在创建一个工作板,并且可以轻松浏览帖子,我希望在创建它们的那天将其分组。我当前的实现工作正常,但我想知道是否有更高效的方法来解决这个问题;关于在JobsController的 new 方法中添加两个实例变量的事情。
下面是列表的一个很好的结果,按降序排列:
JobsController< ApplicationController中
def index
@jobs = Job.where(Job.arel_table[:created_at].gteq("%D")).order("created_at DESC")
@job_days = @jobs.group_by { |job| job.created_at.to_date }
end
index.html.haml
- @job_days.each do |day, jobs|
= day.strftime("%B %d")
- jobs.each do |job|
= link_to(job.url) do
%h2= job.title
%p= job.company
答案 0 :(得分:1)
Job.where('your conditions').group_by(&:created_at)
答案 1 :(得分:0)
尝试以下查询:
@results = Job.(Job.arel_table[:created_at].gteq("%D")).
order("created_at DESC").
group_by {
|job| job.created_at.strftime("%B %d")
}
视图将变为:
<强> index.html.haml 强>
- @results.each do |date, items|
= date
- items.each do |job|
= link_to(job.url) do
%h2= job.title
%p= job.company
答案 2 :(得分:-1)
不仅仅是,
Job.where(‘your conditions’).group(“DATE(created_at)”)
工作?
PS:我没有测试,因为我是从手机中添加的。