如何在environment.rb文件中添加时区配置?

时间:2011-10-09 05:51:20

标签: ruby-on-rails timezone

首先,在我的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服务器?还有其他步骤吗?

谢谢!

2 个答案:

答案 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显示所有可用的时区。