Я пытаюсь создать ссылку на действие show
для моего вложенного ресурса product
.
Я прочитал другие ответы, и кажется, что принято решение сделать что-то вроде
<%= link_to 'Product Page', category_product_path(product) %>
Я делаю это и все еще получаю ту же ошибку. Я опубликую ошибку и соответствующий код ниже. Буду признателен за любые отзывы.
Полное сообщение об ошибке, выданное браузером
ActionController::UrlGenerationError in Categories#show
No route matches {:action=>"show", :category_category_name=>#<Product id: 2, product_name: "Steak", product_description: "Pack of steaks", product_price: 19, category_id: 2, created_at: "2019-01-07 22:18:26", updated_at: "2019-01-07 22:18:26">, :category_name=>"Meat", :controller=>"products"}, missing required keys: [:id]
Из вида:
<%= render @category.products %>
Из частичного:
<%= link_to 'Product page', category_product_path(product) %>
из 'рельсовых маршрутов':
соответствующие маршруты
Я пытаюсь отобразить все продукты для категории продукта в таблице, и у меня возникают проблемы с получением правильной ссылки. Буду признателен за любую помощь.
EDIT:
Я нашел решение, изменив ссылку на
<%= link_to 'Product Page', [@category, product] %>
Я чувствую, что это не самый лучший путь, хотя, если кто-то знает лучший способ, я бы хотел узнать это.