我的webapp中有管理员和普通用户.我想根据他们的身份使他们的根(/)不同.从许多不同的页面访问根,所以如果我能在routes.rb文件中实现这一点会容易得多.这是我目前的档案.
- ProjectManager::Application.routes.draw do
- root :to => "projects#index"
- end
解决方法
您只需为根路由创建控制器即可.
- class RoutesController < ActionController::Base
- before_filter :authenticate_user!
- def root
- root_p = case current_user.role
- when 'admin'
- SOME_ADMIN_PATH
- when 'manager'
- SOME_MANAGER_PATH
- else
- SOME_DEFAULT_PATH
- end
- redirect_to root_p
- end
- end
在您的routes.rb中:
- root 'routes#root'