ruby-on-rails - 如何在我的 Rails View 中显示中央标准时间 (CST)?

标签 ruby-on-rails

UTC时间显示

我正在开发一个当前以 UTC 格式保存和显示培训类(class)开始日期时间的应用程序(培训类(class)应用程序)。

迁移

class CreateTrainingClasses < ActiveRecord::Migration[5.2]
  def change
    create_table :training_classes do |t|
      t.datetime :starts_at
    end
  end
end

日期时间选择

日期时间显示

本地时间显示(失败)

但是,我想保存并显示本地时间 (CST)。我更新了日期时间选择表单字段以显示所需的本地时间。

<%= form.label :starts_at %>
<p><%= form.datetime_select :starts_at, default: Time.now.in_time_zone("Central Time (US & Canada)"), ampm: true %></p>

enter image description here

我更新了显示以显示本地时间。但是,它现在显示错误的时间 — 即使我创建了一个新的培训类。

<td><%= training_class.starts_at.in_time_zone("Central Time (US & Canada)").strftime("%B %d, %Y %I:%M %p") %></td>

enter image description here

问题

如何为表单和类显示保存和显示正确的本地时间?

引用资料

最佳答案

你需要在application.rb中设置time_zone

config.time_zone = 'Central Time (US & Canada)'

然后重启服务器

引用: https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html

关于ruby-on-rails - 如何在我的 Rails View 中显示中央标准时间 (CST)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58611472/

相关文章:

ruby-on-rails - 如何从 Rails 应用程序中卸载 Cucumber?

ruby-on-rails - Rails action_text切换到亚马逊主动存储后没有上传

ruby-on-rails - 能够将图像上传到 Dropbox 但无法获取图像 url 并将其存储在数据库中

ruby-on-rails - Rspec:测试在应该通过的时候没有通过

mysql - 在处理竞争条件时选择和更新一行?

ruby-on-rails - 如何查找客户和用户参与 Ruby on Rails 的所有项目

ruby-on-rails - 使用 Rails form_for 的漂亮单选按钮

ruby-on-rails - rails : An elegant way to display a message when there are no elements in database

ruby-on-rails - 如何在迁移文件中添加验证(Rails 4)

mysql - Rails activerecord 查找具有特定子关联的对象