我使用Ruby on Rails v4.1.0创建了一个新的应用程序.尝试在Windows上启动服务器或控制台时,我遇到以下错误:
$ rails server
Booting WEBrick
Rails 4.1.0 application starting in development on ....
Exiting
c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/tzinfo-1.1.0/lib/tzinfo/data_source.rb:199:
in `rescue in create_default_data_source':
No timezone data source could be found. To resolve this, either install
TZInfo::Data (e.g. by running `gem install tzinfo-data`) or specify a zoneinfo
directory using `TZInfo::DataSource.set(:zoneinfo, zoneinfo_path)`.
(TZInfo::DataSourceNotFound)
from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/tzinfo-1.1.0/lib/tzinfo/data_source.rb:196:
in `create_default_data_source'
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个错误?
在application.rb,它说:
将Time.zone默认设置为指定区域,并将Active Record自动转换为此区域.运行"rake -D time"以获取用于查找时区名称的任务列表.默认为UTC.
但是设置config.time_zone = 'Central Time (US & Canada)'或者config.time_zone = 'Eastern Time (US & Canada)'没有效果 - created_at模型中的字段是以UTC格式保存的.
config.time_zone只是让rails知道你的服务器被设置为这个时区,所以当它将日期写入数据库时,它可以正确地将它转换为UTC.
如果这是真的,那么它为什么,当我的系统时间Pacific Time (US & Canada)和config.time_zone = 'Central Time (US & Canada)'或config.time_zone = 'Eastern Time (US & Canada)',该created_at时间是正确的UTC?它应该不正确吗?!
因为,如果PST时间是晚上8点,则EST是晚上11点,UTC是凌晨4点.假设Rails确实如此Time.now,那将是晚上8点.我们告诉Rails服务器在EST中.因此,就Rails而言,晚上8点将是EST时间,然后UTC将是UTC时间上午5点,这将是不正确的(因为实际时间是太平洋标准时间晚上8点/美国东部时间晚上11点,即UTC时间上午4点)
这里发生了什么?
启动新的 Rails 项目时遇到 TZInfo::DataSourceNotFound 问题,即使在 Gemfile 中输入
当我启动一个新的 Rails 项目时,遇到以下错误:
C:>rails new demo2 create
create README.md
create Rakefile
create .ruby-version
create config.ru
create .gitignore
create Gemfile
run git init from "."
创建 package.json
创建应用程序
创建 app/assets/config/manifest.js
创建 app/assets/javascripts/application.js
创建 app/assets/javascripts/cable.js
创建 app/assets/stylesheets/application.css
创建 app/channels /application_cable/channel.rb
创建app/channels/application_cable/connection.rb
创建app/controllers/application_controller.rb
创建app/helpers/application_helper.rb
创建app/jobs/application_job.rb
创建app/mailers/application_mailer.rb
创建应用程序/models/application_record.rb
创建app/views/layouts/application.html.erb
创建app/views/layouts/mailer.html.erb
创建app/views/layouts/mailer.text.erb
创建app/assets/images/。继续
创建应用程序/资产/javascripts/channels
创建应用程序/资产/javascripts/channels/.keep
创建应用程序/控制器/关注点/.keep
创建应用程序/模型/关注点/.keep
创建 bin
创建 bin/bundle
创建 bin/rails
创建 bin /rake
创建 bin/setup
创建 bin/update
创建 bin/yarn
创建配置
创建 config/routes.rb
创建 config/application.rb
创建 …