Ric*_*wis 13 ruby ruby-on-rails devise
我使用rails 4.1.1和ruby 2.1.1并且我遇到了设计问题,即我的路线..我之前使用过很多次
devise_for :users
get 'pages/index'
# Route to Devise Login Page
devise_scope :user do
root to: "devise/sessions#new"
end
# Directing the user after login
authenticated :user do
root :to => 'pages#index'
end
Run Code Online (Sandbox Code Playgroud)
但我得到了错误
`add_route': Invalid route name, already in use: 'root' (ArgumentError)
Run Code Online (Sandbox Code Playgroud)
当试图启动服务器..我可以看到root被使用了两次,但就像我说我过去能够做到这一点..有没有办法解决这个问题
谢谢
Ric*_*wis 20
在stackoverflow上找到这个有用的评论
对于Rails 4.0,您必须确保路径助手具有唯一的名称,例如root to:"dashboard #show",如:authenticated_root.否则,经过身份验证的根和正常的根路由最终会为其路径助手设置相同的名称,而Rails 4.0不再允许这样做
所以我将经过身份验证的root更改为helper
# Directing the user after login
authenticated :user do
root :to => 'pages#index', as: :authenticated_root
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4600 次 |
| 最近记录: |