Ruby on rails 3 如果超过X天,突出显示记录的最整洁方式是什么?

Ruby on rails 3 如果超过X天,突出显示记录的最整洁方式是什么?,ruby-on-rails-3,datetime,view,dry,helper,Ruby On Rails 3,Datetime,View,Dry,Helper,在Rails 3应用程序中,根据表格行的年龄突出显示表格行的最整洁的方式是什么 <% @faults_open.each do |fault| %> <tr> <td><%= fault.name %></td> <td><%= fault.faulttype %></td> <td><%= fault.priority %></td>

在Rails 3应用程序中,根据表格行的年龄突出显示表格行的最整洁的方式是什么

<% @faults_open.each do |fault| %>
  <tr>
    <td><%= fault.name %></td>  
    <td><%= fault.faulttype %></td>
    <td><%= fault.priority %></td>
    <td><%= time_ago_in_words(fault.created_at) %> ago</td>
    <td><%= link_to 'Show', fault %></td>
  </tr>
<% end %>

我认为助手是最整洁的方式,但我不确定助手将如何工作。我最近做了类似的事情,在行中添加了一个类名,对应于它的大致年龄(以周为单位),然后我使用CSS进行实际的高亮显示

为什么不找个帮手呢。。(只是一个例子)

用你的HTML

<tr class="<%= highlight_age_class fault.created_at %>">
然后,您可以专注于扩展和优化助手方法以突出显示年龄

weekold
twoweeksold
monthold
sixmonthold
yearold
ancient
def highlight_age_class (created_at)
  @@today ||= Date.today
  num_weeks = ((@@today - created_at.to_date) / 7).floor
  class_name = "aged_#{num_weeks}_weeks"
  num_weeks == 1 ? class_name.singularize : class_name
end
<tr class="<%= highlight_age_class fault.created_at %>">
.aged_1_week
.aged_1_weeks
.aged_4_weeks
.aged_24_weeks
.aged_56_weeks

etc