Почему я получаю UrlGenerationError с отсутствующими необходимыми ключами [: id]? - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь создать ссылку на действие 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] %>

Я чувствую, что это не самый лучший путь, хотя, если кто-то знает лучший способ, я бы хотел узнать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...