我有3个控制器,显示方法分别为
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
,公司ID为1
,ID为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'
但是当我触发车展方法时,它将转到旅行控制器方法
这有可能用红宝石完成吗?
答案 0 :(得分:0)
否,不可能。路由器应该如何知道id
是用于Car
,Motorcycle
还是Travel
的?
顺便说一句,约定是控制器采用复数形式(例如MotorcyclesController
)。
顺便说一句,路由也是一种Rails现象,而不是Ruby现象。