ThuisBalletje
TrainingenBalletje
ConsultancyBalletje
Blog Balletje
Rails Timezone
04-04-2009

In Nederland

alt_tekst

We gaan even een rails timezone applicatie genereren en kijken wat er standaard aangemaakt wordt. Als we namelijk niets aanpassen in environment.rb, dan gaat 'convention over configuration' even niet op.

> cd rails-code

> rails timezone

> cd timezone

We zien dat het volgende is aangemaakt in environment.rb:

Rails::Initializer.run do |config|

config.time_zone = 'UTC'

end

Dat gaat niet helemaal volgens plan verlopen zo. Kijk maar.

timezone > script/generate model gebruiker naam:string

We gaan nu met script/console een gebruiker aanmaken.

> script/console

Loading development environment (Rails 2.3.2)

>> Gebruiker.count

=> 0

>> g = Gebruiker.create( :naam => 'Basil Fawlty' )

>> g.created_at

=> Sat, 04 Apr 2009 14:00:49 UTC +00:00

Dat is niet goed als het op de klok 4 uur is.

We zitten dus uiteraard in de verkeerde timezone.

Wat is de juiste?

rake to the rescue.

timezone > rake time:zones:local

* UTC +01:00 *

Amsterdam

Belgrade

Berlin

Bern

Bratislava

Brussels

.....

Drie keer raden welke we nodig hebben.

config.time_zone = 'Amsterdam'

Even script/console exit en weer in na aanpassing timezone.

Inmiddels is het ook 5 uur.

> script/console

Loading development environment (Rails 2.3.2)

>> g = Gebruiker.create( :naam => 'John Cleese' )

>> g.created_at

=> Sat, 04 Apr 2009 17:00:23 UTC +00:00

Alles is nu weer OK. Dit is natuurlijk een prima kandidaat om toe te voegen aan een rails template voor het genereren van nieuwe applicaties.

En dan is het nu tijd voor happy hour.