I want to do this:
application_controller.rb:
class ApplicationController < ActionController::Base
alias_method :devise_current_user, :current_user
private
def current_user
if params[:user].blank?
puts "!found user"
devise_current_user
else
puts "found user"
user = User.find_by(email: params[:user][:email])
return detect_role(user)
end
end
def detect_role(user)
roles = user.roles_name
user = if roles.include?("mentor")
user.becomes(Mentor)
elsif !roles.include?("admin") && !roles.include?("mentor")
user.becomes(Student)
else
user
end
end
end
but still does not go out to override current_user
log: https://gist.github.com/anonymous/e0a5fb593b020b16a0cd2ae9d539b92a