Ваш routes.rb
файл не будет иметь никакого представления о роли пользователя, поэтому вы не сможете использовать его для назначения определенных корневых маршрутов.
Что вы можете сделать, это настроитьконтроллер (например, passthrough_controller.rb
), который в свою очередь может читать роль и перенаправлять.Примерно так:
# passthrough_controller.rb
class PassthroughController < ApplicationController
def index
path = case current_user.role
when 'project_manager'
some_path
when 'client'
some_other_path
else
# If you want to raise an exception or have a default root for users without roles
end
redirect_to path
end
end
# routes.rb
root :to => 'passthrough#index'
Таким образом, у всех пользователей будет одна точка входа, которая, в свою очередь, перенаправит их на соответствующий контроллер / действие в зависимости от их роли.