【发布时间】:2020-10-11 10:33:42
【问题描述】:
我的routes.rb:
Rails.application.routes.draw do
scope :superadmin do
resources :tenants, only: [:index]
end
resources :tenants, except: [:index]
end
它们产生以下路径:
tenants_path | GET | /superadmin/tenants(.:format) | tenants#index
| POST | /tenants(.:format) | tenants#create
new_tenant_path | GET | /tenants/new(.:format) | tenants#new
edit_tenant_path | GET | /tenants/:id/edit(.:format) | tenants#edit
tenant_path | GET | /tenants/:id(.:format) | tenants#show
预期行为:
-
tenants#index行动可在路线localhost:3000/superadmin/tenants - 所有其他
tenant操作都通过常规路线localhost:3000/tenants/*
实际行为:
当我转到tenants/new 并提交表单,从而激活tenants#create 操作时,我收到错误:
ActionController::RoutingError (No route matches [POST] "/superadmin/tenants"):
我不想发布到超级管理员,我只想发布到租户路径。为什么会这样?
【问题讨论】:
标签: ruby-on-rails routes