Rails视图取决于时间

时间:2013-07-30 11:13:46

标签: html ruby-on-rails

如果当前时间是格林威治标准时间周一至周五上午9点至下午5点之间,我希望在我的视图中显示一个div,显示一段文字。但是如果它在那个时间之外就是一个按钮。

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:1)

您有时间和日期的帮助,如Time.now获取当前时间,Time.now.wday返回与工作日相对应的整数。只需在您的视图中与您的规则进行比较,就可以了。

答案 1 :(得分:0)

在您的控制器中,您可以检查@open = (1..4).include?(Time.now.wday) && (9..17).include?(Time.now.hour)之类的内容 你是真的,或者是假的。现在,您可以使用@open来显示按钮(false)或文本(true)

答案 2 :(得分:0)

这样的事情应该有效

# Time.now.utc may work 
now = Time.now.in_time_zone('GMT') as well
if time.wday.in?(1..5) && time.hour.in?(9..16)
  # show text
else
  # show button

确保为您正确使用的模板引擎(ERB或HAML)修改此代码。