首先,在我的application.rb文件和我的environment.rb文件中配置有什么区别?
我读到我需要在environment.rb文件中配置我的timezone默认值。我不太清楚如何做到这一点。到目前为止,我在我的environment.rb文件中有这个:
# Load the rails application
require File.expand_path('../application', __FILE__)
# Initialize the rails application
SampleApp::Application.initialize!
更改后是否需要重新运行rails服务器?还有其他步骤吗?
谢谢!
答案 0 :(得分:5)
在rails 2中,环境.rb具有所有配置。在rails 3中,它已更改为application.rb,以及environment / production.rb和environment / development.rb以及Gemfile。要配置时区,请将它放在Application类中的application.rb中:
class Application < Rails::Application
config.time_zone = 'Eastern Time (US & Canada)'
end
您可以运行rake time:zones:all
查看可用时区列表。
编辑在rails 3中,您无需触及environment.rb。
答案 1 :(得分:2)
来自The Rails (3) Initialization Process:
1.14 config / environment.rb
此文件是config.ru(rails服务器)和Passenger所需的通用文件。这是运行服务器的这两种方式相遇的地方;在此之前的所有内容都是Rack and Rails设置。
此文件以要求config / application.rb。
开头1.15 config / application.rb
这个文件需要config / boot.rb,但前提是它之前没有被要求过,这在rails服务器中就是这种情况,但乘客不是这种情况。
然后开始有趣!
要配置应用程序的时区,请将其添加到您的application.rb:
class Application < Rails::Application
# ...
config.time_zone = 'Pacific Time (US & Canada)' # for example
# ...
end
并且,正如@bricker指出的那样,rake time:zones:all
显示所有可用的时区。