ruby-on-rails – 如何在Rails 3中创建动态根?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何在Rails 3中创建动态根?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的webapp中有管理员和普通用户.我想根据他们的身份使他们的根(/)不同.从许多不同的页面访问根,所以如果我能在routes.rb文件中实现这一点会容易得多.这是我目前的档案.
  1. ProjectManager::Application.routes.draw do
  2. root :to => "projects#index"
  3. end

有人可以把我链接到一个可以告诉我进入方向的例子吗?有没有办法将逻辑放入路径文件?谢谢你的帮助.

解决方法

您只需为根路由创建控制器即可.
  1. class RoutesController < ActionController::Base
  2. before_filter :authenticate_user!
  3.  
  4. def root
  5. root_p = case current_user.role
  6. when 'admin'
  7. SOME_ADMIN_PATH
  8. when 'manager'
  9. SOME_MANAGER_PATH
  10. else
  11. SOME_DEFAULT_PATH
  12. end
  13.  
  14. redirect_to root_p
  15. end
  16. end

在您的routes.rb中:

  1. root 'routes#root'

附:示例期望使用Devise,但您可以根据需要自定义它.

猜你在找的Ruby相关文章