Time-on-Rails棒球时间表应用程序在生产时关闭5小时



我有一个应用程序:http://arethebaronsplaying.com/它在美国中部时间每天晚上7点暂停生产,但在当地正常工作。该网站由Ninefold托管。

简而言之,我有一个seeds.rb文件,里面有一堆Game对象,Game的属性之一是日期,它被设置为m/d格式,例如4/09。

每天晚上7点,应用程序都会显示一个大大的"否",并显示文字,说明下一场比赛是什么时候,下一场游戏是当天的比赛。然后在下面,它将显示YES!与当天的比赛。

所以它显示YES和NO,这让我认为Date.today的计算时间可能与Time.now不同,因为我同时使用了它们,所以错误的将显示NO。

总之,这是我的逻辑:

<% i = 0 %>
<% games.each do |game| %>
<% if game.date.strftime("%_m/%d")[1..-1] == Time.now.strftime("%_m/%d")[1..-1] && game.away == false %>
<h1 class="main-text answer yesanswer" id="responsive_headline"><%=link_to "YES!", "http://www.milb.com/tickets/singlegame.jsp?sid=t247", target: "_blank" %></h1>
<% i = 1 %>
<br>
<h2 class="main-text2 gamewrap" id="responsive_headline2">
    <% if game.away == false %>
        <span class="next-venue">vs.</span>
        <span class="next-opponent"><%= game.opponent %></span> |
        <span class="next-time"><%= game.time %></span>
    <% else %>
        <span class="next-venue">at</span>
        <span class="next-opponent"><%= game.opponent %></span> |
        <span class="next-time"><%= game.time %></span>
    <% end %>
</h2>
<% elsif game.date.strftime("%_m/%d")[1..-1] == Time.now.strftime("%_m/%d")[1..-1] && game.away == true %>
    <% unless i == 1 %>
    <a><h1 class="main-text answer" data-reveal-id="myModal" data-reveal id="responsive_headline">NO.</h1></a>
    <% i = 1 %>
    <h2 class="main-text2 gamewrap" id="responsive_headline2">
        <span class="next-venue">away game</span>
        <span class="next-opponent">@<%= game.opponent %></span>
    </h2>
    <% end %>
<% else %>
    <% unless i == 1 %>
    <a><h1 class="main-text answer" data-reveal-id="myModal" data-reveal id="responsive_headline">NO.</h1></a>
    <% i = 1 %>
    <h2 class="main-text2 gamewrap" id="responsive_headline2">
        <span class="next-venue">vs.</span>
        <span class="next-opponent">
            <% if next_home_game > 1 %>
            <%= game.opponent %>
            in <%= next_home_game %> days |
            <% else %>
            <%= game.opponent %>
            in <%= next_home_game %> day |
            <% end %>
        <span class="next-time"><%= game.time %></span>
    </h2>
    <% end %>
  <% end %>
<% end %>

我已经尝试将config.time_zone = 'Central Time (US & Canada)'添加到application.rbproduction.rb中,但它破坏了部署。

以下是Ninefold如何处理时间:https://help.ninefold.com/hc/en-us/articles/201320124-What-time-standard-does-Ninefold-use-

谢谢你的帮助!

日期和时间(跨时区)是一场难以管理的噩梦(我知道这没有多大帮助……但我一直在那里,我向你表示哀悼)。

不管怎样。。。尝试将所有Time.nowDate.today调用分别替换为Time.zone.nowTime.zone.today

确保您的所有时间都以UTC存储在数据库中(无论您的本地时间或服务器的时间),并查看一些提供其他建议的文章(如http://www.elabs.se/blog/36-working-with-time-zones-in-ruby-on-rails和http://danilenko.org/2012/7/6/rails_timezones/)

祝你好运!

相关内容

  • 没有找到相关文章

最新更新