RoR:如何显示到期日而非截止日期?

时间:2016-11-04 16:37:03

标签: ruby-on-rails datetime dayofweek

我的应用程序包含带有Gmail样式div的移动视图。每个div都有一个主题,名称和截止日期。

截止日期列是正常的日期时间值。

我要做的是让视图中的第一个条目显示为过去6天的天数,然后将其余条目显示为datetime。

例如:

周一 周二 星期三 星期三 周四 周五 2016年11月4日 2016年11月3日 .....

如何才能最好地实现这一目标?我认为我不需要为这个问题发布代码,但如果需要,我会发布。

谢谢!

修改

不工作......

在视图中......

<font size="1"><strong>Due:</strong> <%= homework.formatted_date(due) %></font>&emsp;&ensp;

在ApplicationController中...(不确定我的语法是否正确...)

helper_method :formatted_date

def formatted_date(due)
  if (Date.today - due).abs < 6
    due.strftime('%A')
  else
    due.strftime('%Y/%m/%d')
  end
end

视图加载但日期显示与之前相同...

1 个答案:

答案 0 :(得分:2)

为您的视图制作帮助...将其放入ApplicationController

helper_method :formatted_date

def formatted_date(item_date)
  if (Date.today - item_date).abs < 6
    item_date.strftime('%A')
  else
    item_date.strftime('%Y/%m/%d')
  end
end

然后在您看来,而不是显示object_date字段显示formatted_date(object_date)