1

我已经将我的路线设置到命名空间中,所以它看起来像

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

提前致谢

4

2 回答 2

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

于 2012-05-15T11:31:54.797 回答
0

用户命名空间中没有主控制器,用户命名空间中有配置文件控制器。

您需要 users_root_path 才能访问“users/profile#index”。

但你是对的,我希望 root_path 去“home#index”。

于 2012-05-15T12:01:13.540 回答