Описание маршрута, который вы пытаетесь использовать:
# /categories/:category_id/subcategories/:id
Это означает, что все, что вы отправляете вместо :category_id
, будет доступно в вашем контроллере как params[:category_id]
, то же самое для :id
=> params[:id]
.
Итак, если вы отправите /categories/dragracing/subcategories/pro-mod
, ваши параметры будут такими:
{ 'category_id' => 'dragracing', 'id' => 'pro-mod' }
Поскольку ваш код в настоящее время стоит, эта конечная точка будет перенаправлена на subcategories#show
.
# category_subcategory GET /categories/:category_id/subcategories/:id(.:format) subcategories#show
Так что для этого вам нужен контроллер.Вам не нужно отправлять id
s или номера в URL, вам нужно только правильно обработать их:
class SubcategoriesController < ApplicationController
def show
@category = Category.friendly.find params[:category_id] # dragracing
@subcategory = Subcategory.friendly.find params[:id] # pro-mod
end
end