Добавьте новый столбец для admin
, который называется force_logout:boolean
В любом контроллере добавьте новое действие, чтобы установить force_logout
на true
. Например:
# in admins_controller.rb
def force_logout
admin = Admin.find(params[:id])
admin.update_column(:force_logout, true)
redirect_to :back
end
В application_controller.rb
добавьте before_action
для выхода пользователя, если force_logout
равно true
before_action :check_force_logout
def check_force_logout
if current_user && current_user.force_logout?
current_user.update_column(:force_logout, false)
sign_out(current_user)
end
end
Также вам нужно сбросить force_logout
столбец после admin будет выполнен вход. Обычно это можно сделать session_controller.rb
в действии create
.