2017-02-18 1 views
0

Я новичок в ROR, и я использую версию Rails 5. Я успешно создал функцию sign_in от разработки.Как перенаправить различные действия с контроллерами после sing_in из devise

Я использую разработать для sign_in, sign_up и т.д.

Я создал три роли: super_admin, manager и moderator.

super_admin все управляют разрешением, а другие нет.

get 'manager/dashboard', :as => 'manager_dashboard' 
get 'moderator/dashboard', :as => 'moderator_dashboard' 
get 'users/dashboard', :as => 'users_dashboard' 
root "home#index" 
devise_for :users 

Я хочу, чтобы после sign_in перенаправлялся на различные действия контроллера с помощью приложения.

  • super_admin after sign_in перенаправить пользователей # панель приборов.
  • менеджер после sign_in диспетчер перенаправления # панель приборов.
  • модератор после sign_in перенаправление модератор # панель инструментов.

ответ

2

Вы хотите использовать after_sign_in_path.

В вашем ApplicationController, определить метод after_sign_path_for(resource):

def after_sign_in_path_for(resource) 
    if resource.super_admin? 
    users_dashboard_path 
    elsif resource.manager? 
    manager_dashboard_path 
    else 
    moderator_dashboard_path 
    end 
end 
Смежные вопросы