around_action :set_time_zone
(또는 before_filter :set_time_zone
)을 응용 프로그램 컨트롤러에 추가해야합니다. 문제는 current_user
이 필터 뒤에 Devise 인증이 실행되기 때문에 항상 nil
이라는 것입니다.Devise 인증 후 필터 추가
나는 current_user
에 액세스하여 표준 시간대를 얻을 수 있도록 Devise 인증 후 필터를 실행하고 싶습니다.
내 코드 : 나는 ExampleController
에 authenticate_user!
을 유지하고 ApplicationController
에 set_time_zone
을 유지하고 싶은
class ApplicationController < ActionController::Base
around_action :set_time_zone
private
def set_time_zone
current_user.time_zone # this raises an expception because current_user is nil
end
end
class ExampleController < ApplicationController
before_action :authenticate_user!
end
.
나는 또한 append_before_filter :set_time_zone
을 사용해 보았지만 문제를 해결하지 못했습니다.
내가 Github에서에 문제를 열었습니다 : 이것은 (https://github.com/rails/rails/issues/31259) – collimarco