我使用 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
但我得到了错误
`add_route': Invalid route name, already in use: 'root' (ArgumentError)
当尝试启动服务器时..我可以看到root被使用了两次,但就像我说的我过去已经能够做到这一点..有没有办法解决这个问题
Thanks
在 stackoverflow 上找到了这个有用的评论
对于 Rails 4.0,您必须确保路径的名称是唯一的
助手,如 root 到:“dashboard#show”,如::authenticated_root。
否则,经过身份验证的根和正常的根路由将结束
路径助手具有相同的名称,Rails 4.0 不再这样做
允许
所以我将经过身份验证的根更改为助手,如下所示
# Directing the user after login
authenticated :user do
root :to => 'pages#index', as: :authenticated_root
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)