Ruby on rails 具有特定id的嵌套路由的Rails路由别名

Ruby on rails 具有特定id的嵌套路由的Rails路由别名,ruby-on-rails,routes,nested-routes,Ruby On Rails,Routes,Nested Routes,我正在尝试为我的rails路线制作一些别名,如'events/8/event\u participants/new'到/business meet/registration, 我的路线是这样写的: resources :events, only: [], shallow: true do resources :event_participants, only: [:new, :create, :edit, :update] do post :complete, on: :

我正在尝试为我的rails路线制作一些别名,如
'events/8/event\u participants/new'
/business meet/registration
, 我的路线是这样写的:

  resources :events, only: [], shallow: true do
    resources :event_participants, only: [:new, :create, :edit, :update] do
      post :complete, on: :collection

      member do
        get :invite, :add_people, :accept_invitation, :invitation_success, :reserved
        put :refer
      end
    end
  end

我想要特定事件id 8的别名,我尝试了
重定向
,但它实际上重定向到了路线,因此整个路线在浏览器中可见,我希望保持可见
/商业会议/注册
路线到我的浏览器。

您可以在路线中使用
匹配
方法

match '/business-meet/registration', to: 'event_participants#new', via: :get, defaults: { event_id: 8 }

我没有任何事件控制器,因为我不必在事件中执行任何操作,它会给出此错误
路由错误未初始化常量事件
,事件如果我使空事件控制器不工作,您如何知道该事件?您可以从路由中删除事件。我已经更新了答案。您可以在我的问题中看到我的路线是如何为该部分定义的。我仍然无法看到您的控制器以及与哪个参数8匹配。更新没有起作用吗?我认为您需要调整它以匹配您的代码,但这是如何做到这一点的答案。