Railsアプリでユーザのタイムゾーンを取得する方法

Railsでアプリケーションを作成していて、ユーザのタイムゾーンをユーザの手をわずらわせること無く取得したいことがあり、その方法を調べたものの、お決まりの方法らしきものを見つけることができなかった。
それでひとまず、detect_timezone_railsというgemを利用してブラウザ側でタイムゾーンを判定して結果をcookieに保存し、サーバ側でその値を読み取ることにした。

Gemfile に次の行を入れてbundle installする。

gem 'detect_timezone_rails'

assets/javascripts/application.js に次の行を追記する。

//= require detect_timezone
//= require jquery.detect_timezone
//= require jquery.cookie

jquery.cookie pluginはこちらから https://github.com/carhartl/jquery-cookie


assets/javascripts/timezone.js.coffee といった名前のファイルを作って以下の内容を書く。

$ ->
  unless $.cookie('timezone')?
    $.cookie('timezone', $("html").get_timezone(), {expires: 1})

app/controller/application_controller.rb にタイムゾーンを設定するコードを書く。

  before_filter do
    Time.zone = cookies[:timezone] || 'UTC'
  end

もっと簡単な方法ないかな。