2

可能重复:
用户的不同“/”根路径取决于他们是否经过身份验证(使用设计)
活动管理员身份验证与用户身份验证冲突

我最近升级到 rails 3.1 并使用 devise 对我的用户进行身份验证。

我想设置我的路由,当用户未登录时,我的根将我带到 home#index,用户可以从那里单击登录链接转到单独的登录页面,但是当用户已经登录,root 将他们带到 user#dashboard。

实际上,这个功能之前已经在我的应用程序中工作了,但是在升级到 rails 3,1 (并且还安装了活动管理员,顺便说一句也使用设计)之后,这已经停止工作,我想知道是否还有另一个解决这个问题的方法,或者我可能需要更新语法。这就是我的路线文件目前的内容

root :to => 'users#dashboard', :constraints => lambda {|r| r.env["warden"].authenticate? }
root :to => 'home#index'
get "/" => 'users#dashboard', :as => "user_root"

现在它总是带我回家#index

更新

实际上,由于 Active Admin 以及它使用 Devise 的事实,我似乎遇到了这个问题。登录到活动管理员界面会影响行为,例如,如果活动管理员已登录,应用程序会尝试将每个用户带到仪表板,如果活动管理员已注销,则应用程序会尝试将每个用户带到 home#index,无论是否通用用户本身是否登录。

有谁知道如何让 Active Admin 的登录管理员不影响一般用户登录。Active Admin 已经使用“admin”作为其用户,这些用户与我的“用户”模型是分开的。

4

0 回答 0