Поддержка аналогичного URL для нескольких методов Ruby - PullRequest
0 голосов
/ 17 октября 2018

У меня есть 3 контроллера с методом show, а именно

class CarController < ApplicationController

  def show
  end
end

class MotorcycleController < ApplicationController

  def show
  end
end

class TravelController < ApplicationController

  def show
  end
end

В моих маршрутах я хочу, чтобы метод show всего дерева следовал той же структуре URL /:company_id/:id

Такприведенный пример, что URL моей домашней страницы https://localhost:3000, идентификатор компании 1 и идентификатор 2, если я перейду к методу show контроллера автомобиля, мой URL должен быть http://localhost:3000/1/2

В данный момент я делал это на своих маршрутах

get '/:company_id/:id' => 'travel_controller#show', as: 'travel_insurance_product'
    get '/:company_id/:id' => 'car_controller#show', as: 'car_insurance_product'
    get '/:company_id/:id' => 'motorcycle_controller#show', as: 'motorcycle_insurance_product'

Но когда я запускаю метод автосалона, он переходит к методу контроллера движения

Возможно ли это сделать в ruby?

1 Ответ

0 голосов
/ 17 октября 2018

Нет, это невозможно.Как маршрутизатор должен знать, является ли id для Car, Motorcycle или Travel?

Кстати, соглашение для контроллера должно быть во множественном числе (например, MotorcyclesController).

Кроме того, кстати, маршрутизация - это явление Rails, а не явление Ruby.

...