我的users_controller只有show action。
当我去0.0.0.0:3000/users/我得到
Unknown action
The action 'index' could not be found for UsersController
我不需要列出所有用户。如果未找到操作,如何重定向到根路径?
我想它应该是这样的
get '*path' => redirect('/')
或者我应该添加
def index
redirect_to root_url
end
ps我使用设计
达
我试过
rescue_from AbstractController::ActionNotFound do
redirect_to root_url
end
在控制台中显示
AbstractController::ActionNotFound (The action 'index' could not be found for UsersController):
但它并没有重定向我
UP2
如果重要我有
devise_for :users, path_names:{sign_in: "login", sign_out: "logout"}
resources :users, only: [:show]
答案 0 :(得分:1)
rescue_from
。不确定它是否在以后的版本中修复了
使用以下解决方案
在routes.rb
中,在文件末尾添加以下行
match "*path", :to => "application#handle_404"
这基本上意味着,路由中未定义的任何路径最终将转到应用程序控制器中的handle_404
。将它放在文件的末尾非常重要
在ApplicationController
中添加
def handle_404
redirect_to root_path
end