Ruby on Rails にて、Devise の current_user メソッドをオーバーライドする方法をメモ。
常にユーザの権限(Role)もまとめて取得する場合は、こんな感じに書く。
# app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
alias_method :devise_current_user, :current_user
def current_user
if devise_current_user.nil?
nil
else
User.find_by_id(devise_current_user.id, include: :role)
end
end
end
【参考】ruby on rails 3 - Where to override current_user helper method of devise gem - Stack Overflow