Сеанс обработки в рельсах - PullRequest
       28

Сеанс обработки в рельсах

0 голосов
/ 05 декабря 2018

Администратор имеет право активировать деактивацию учетной записи пользователя.пример ссылки на изображение https://imgur.com/a/S9wEsQY только активированный пользователь должен войти в систему, чтобы сценарий был успешно завершен (использовался логический тип данных admin = true & user = false). активированный пользователь долго ждал в браузере, если администратор деактивировал свой аккаунт. Пользователь не должен ничего делатьавтоматически выйти на страницу входа в систему, как это сделать? разработать гем Использовано

rout.rb

root to: 'application#home', as: :root   
  devise_for :users, controllers: { sessions: 'users/sessions',
                    registrations: 'users/registrations'
                  }

controller # application_controller.rb

class ApplicationController < ActionController::Base
    before_action :authenticate_user!
def home
end
end

model # user.rb

def is_admin?
  role == 0
end

def is_user?
  role == 1
end

view # home.html.erb

<%if  current_user.is_admin?%>
  <%=  render 'layouts/admin' %>
<%else%>
  <%=  render 'layouts/user' %>
<% end %>

1 Ответ

0 голосов
/ 07 декабря 2018

пользователь выйдет из системы, если попытается получить доступ к какой-либо странице и обнаружит ее деактивированной, проверив ее по @current_user.active?

class ApplicationController < ActionController::Base

  before_action :sign_out_unless_user_active

  def sign_out_unless_user_active
    sign_out @current_user unless @current_user.active?
  end

end

Проблема в том, как вы проверяете, активен или неактивен пользователь!Согласно этому, измените условие @current_user.active?

...