为什么我得到 "Routing error",即使我的路径在 "rake routes" 中?
Why do I get "Routing error" even though my path is in "rake routes"?
我正在使用 Rails 5. 我的佣金路线中有这个
localhost:sims nataliab$ rake routes
Prefix Verb URI Pattern Controller#Action
scenario_confidential_memos GET /scenarios/:scenario_id/confidential_memos(.:format) confidential_memos#index
POST /scenarios/:scenario_id/confidential_memos(.:format) confidential_memos#create
new_scenario_confidential_memo GET /scenarios/:scenario_id/confidential_memos/new(.:format) confidential_memos#new
edit_scenario_confidential_memo GET /scenarios/:scenario_id/confidential_memos/:id/edit(.:format) confidential_memos#edit
scenario_confidential_memo GET /scenarios/:scenario_id/confidential_memos/:id(.:format) confidential_memos#show
PATCH /scenarios/:scenario_id/confidential_memos/:id(.:format) confidential_memos#update
PUT /scenarios/:scenario_id/confidential_memos/:id(.:format) confidential_memos#update
DELETE /scenarios/:scenario_id/confidential_memos/:id(.:format) confidential_memos#destroy
scenarios GET /scenarios(.:format) scenarios#index
POST /scenarios(.:format) scenarios#create
new_scenario GET /scenarios/new(.:format) scenarios#new
edit_scenario GET /scenarios/:id/edit(.:format) scenarios#edit
scenario GET /scenarios/:id(.:format) scenarios#show
PATCH /scenarios/:id(.:format) scenarios#update
PUT /scenarios/:id(.:format) scenarios#update
DELETE /scenarios/:id(.:format) scenarios#destroy
然而,当我启动 rails 开发服务器并访问 http://localhost:3000/sims/scenarios/new 时,出现错误
Routing Error
No route matches [GET] "/sims/scenarios/new"
当我的路径在我的 rake 路由中时,为什么会出现此错误?
前缀 sims
不在 url 上,我想你的意思是。应该是 http://localhost:3000/scenarios/new,不是吗?
您想在 sims
命名空间下组织您的 scenarios
吗?如果是这样,请查看本指南中的路由:
http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing
本质上,您想要的是:
namespace :sims do
resources :scenarios do
resources :confidential_memos
end
end
我正在使用 Rails 5. 我的佣金路线中有这个
localhost:sims nataliab$ rake routes
Prefix Verb URI Pattern Controller#Action
scenario_confidential_memos GET /scenarios/:scenario_id/confidential_memos(.:format) confidential_memos#index
POST /scenarios/:scenario_id/confidential_memos(.:format) confidential_memos#create
new_scenario_confidential_memo GET /scenarios/:scenario_id/confidential_memos/new(.:format) confidential_memos#new
edit_scenario_confidential_memo GET /scenarios/:scenario_id/confidential_memos/:id/edit(.:format) confidential_memos#edit
scenario_confidential_memo GET /scenarios/:scenario_id/confidential_memos/:id(.:format) confidential_memos#show
PATCH /scenarios/:scenario_id/confidential_memos/:id(.:format) confidential_memos#update
PUT /scenarios/:scenario_id/confidential_memos/:id(.:format) confidential_memos#update
DELETE /scenarios/:scenario_id/confidential_memos/:id(.:format) confidential_memos#destroy
scenarios GET /scenarios(.:format) scenarios#index
POST /scenarios(.:format) scenarios#create
new_scenario GET /scenarios/new(.:format) scenarios#new
edit_scenario GET /scenarios/:id/edit(.:format) scenarios#edit
scenario GET /scenarios/:id(.:format) scenarios#show
PATCH /scenarios/:id(.:format) scenarios#update
PUT /scenarios/:id(.:format) scenarios#update
DELETE /scenarios/:id(.:format) scenarios#destroy
然而,当我启动 rails 开发服务器并访问 http://localhost:3000/sims/scenarios/new 时,出现错误
Routing Error
No route matches [GET] "/sims/scenarios/new"
当我的路径在我的 rake 路由中时,为什么会出现此错误?
前缀 sims
不在 url 上,我想你的意思是。应该是 http://localhost:3000/scenarios/new,不是吗?
您想在 sims
命名空间下组织您的 scenarios
吗?如果是这样,请查看本指南中的路由:
http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing
本质上,您想要的是:
namespace :sims do
resources :scenarios do
resources :confidential_memos
end
end