`add_route':无效的路由名称,已在使用中:'root'(ArgumentError)

2023-12-19

我使用 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(使用前将#替换为@)

`add_route':无效的路由名称,已在使用中:'root'(ArgumentError) 的相关文章

随机推荐