如果当前时间在格林威治标准时间周一至周五上午 9 点至下午 5 点之间,我想在我的视图中有一个 div,它显示一段文本。但是,如果它在那个时间之外,那就是一个按钮。
我怎样才能做到这一点?
如果当前时间在格林威治标准时间周一至周五上午 9 点至下午 5 点之间,我想在我的视图中有一个 div,它显示一段文本。但是,如果它在那个时间之外,那就是一个按钮。
我怎样才能做到这一点?
您有时间和日期的助手,例如Time.now
获取当前时间并Time.now.wday
返回对应于工作日的整数。只需将其与您认为的规则进行比较,您就可以开始了。
在您的控制器中,您可以检查诸如@open = (1..4).include?(Time.now.wday) && (9..17).include?(Time.now.hour)
You get true 或 false 之类的内容。现在,您可以使用@open
显示按钮 (false) 或文本 (true)
像这样的东西应该工作
# 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)适当地修改此代码。