为什么我收到缺少必需键[:id]的UrlGenerationError?

时间:2019-01-09 04:15:59

标签: ruby ruby-on-rails-5

我正在尝试为我的嵌套资源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) %>

来自“铁路路线”: relevant routes

我正在尝试在表中呈现该产品类别的所有产品,但是我无法正确链接。我将不胜感激。

编辑: 我通过将链接更改为

找到了解决方案
<%= link_to 'Product Page', [@category, product] %>

如果有人知道更好的方法,我想这不是最危险的方法。

0 个答案:

没有答案