Tom*_*hen 8 ruby-on-rails ruby-on-rails-3
终于设法让我的应用程序列出特定日期下的工作.我现在正在寻找一种方法来仅显示过去30天内创建的工作.
目前,我显示工作的方法是部分的,看起来像这样:
<% @jobs.group_by{|x| x.created_at.strftime("%d %b. %Y")}.each do |date,jobs_on_that_date| %>
<section class="date">
<%= date %>
</section>
<section id="top-job">
<% jobs_on_that_date.each do |job| %>
<section id="job-wrapper">
<%= link_to url_with_protocol(@link.job_url), :target => '_blank' do %>
<section id="job">
<%= job.title %> - <%= job.company %>
<%= job.salary %>
<%= job.location %>
<%= job.job_type %>
</section>
</section>
<% end %>
<% end %>
</section>
<% end %>
Run Code Online (Sandbox Code Playgroud)
有没有办法整合只在视图中显示过去30天的工作量,或者更好地在控制器中定义它?
谢谢!
Mat*_*rke 22
在控制器中做得更好.你在视图中放置的逻辑越少越好.
假设这@jobs是ActiveRecord查询的结果,@jobs = @jobs.where('created_at > ?', 30.days.ago)听起来像您想要的查询.