2017-01-26 13 views
0

リクエストごとにユーザーのタイムゾーンを設定しています。ユーザーのタイムゾーンはデータベースに保存されているので、アプリケーションコントローラーのアクションを使ってタイムゾーンを設定します。リクエストごとにタイムゾーンを設定する

`set_time_zone」にそして私はなぜ見当がつかない:アプリ/コントローラ/ application_controller.rb:84

はしかし、あらゆる一度しばらくの間では、一見ランダムに私はエラーと、ArgumentErrorを(ないブロックが与えられていない)を取得しますか?誰でもこれを前にやる?より良い方法がありますか?

私は私がそれを設定するために、このを追っ:https://www.varvet.com/blog/working-with-time-zones-in-ruby-on-rails/

application_controller:

around_action :set_time_zone, if: :current_user 

def set_time_zone(&block) 
    time_zone = current_user.try(:time_zone) || 'UTC' 
    Time.use_zone(time_zone, &block) 
end 

答えて

0

私たちのアプリは一度

Time.zone = @current_admin_user.time_zone 

、その後、しかし、我々はbefore_filterを使用し、同様のパターンを使用していますこれはプロセス用に設定され、各プロセスは一度に1つの要求しか実行しません。

+1

ありがとうございます。私はこれを打ち、何が起こるか見る。私は24時間それを試してみると、それが動作すればコメントします –

関連する問題