当带有devise的rails中boolean为true时的不同路由

时间:2013-08-13 17:15:18

标签: ruby-on-rails devise routes ruby-on-rails-4

这是我的routes.rb

Devel::Application.routes.draw do
  authenticated :user do
    root :to => 'home#index', as: :authenticated_user
  end
  root :to => 'welcome#index'
  devise_for :users, :controllers => {:registrations => "registrations"}
  resources :users
end

我的用户表格中有一列:admin => true/false。当标志为真时,我如何检查和root :to不同的控制器。

我唯一知道的是我可以使用if current_user.admin?在视图中处理它。

有任何建议或想法吗?

最好的问候 denym

1 个答案:

答案 0 :(得分:0)

您可以在确定自己是管理员后,将用户重定向到home#index操作内的管理页面。确保所述页面的访问受限,以防万一有人亲自到那里,或者在意外时被重定向。

我认为在路径文件中有条件地更改主页是不合适的。

另外,我相信routes.rb文件只在应用程序启动时加载一次,所以我不确定任何条件逻辑都会有效。