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

Rails route alias for a nested route with specific id

我正在尝试为我的 rails 路线创建一些别名,例如 'events/8/event_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 的别名,我尝试使用 redirect,但它实际上重定向到路由,所以整个路由在浏览器中可见,我希望保持可见/business-meet/registration 路由到我的浏览器。

您可以在路线中使用 match 方法。

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