我已将路由设置为命名空间,因此它看起来像
root to: "home#index"
namespace :users do
root to: "profile#index"
resources :registrations
resources :sessions
end
namespace :admin do
root to: "base#index"
end
rake routes |grep root
root / home#index
admin_root /admin(.:format) admin/base#index
users_root /users(.:format) users/profile#index
在我的标题导航中,我有= link_to "home", root_path
一切在开发模式下都很好用,但在生产中完全破解
我在尝试访问会话/注册控制器(用户/会话/新)时收到No route matches {:controller=>"users/home"}
我标题中的root_path尝试在home
命名空间中获取users
控制器
提前致谢
答案 0 :(得分:0)
区分每个的根路径,并尝试
root to: "home#index" , :as => home_root
namespace :users do
root to: "profile#index" , :as => users_root
resources :registrations
resources :sessions
end
namespace :admin do
root to: "base#index" , :as => admin_root
end
使用路径如:home_root_path,users_root_path,admin_root_path
答案 1 :(得分:0)
用户名称空间中没有家庭控制器,用户名称空间中有一个配置文件控制器。
您需要users_root_path才能访问“users / profile #index”。
但是你是对的,我希望root_path可以转到“home #index”。