我正在尝试使用
将category.id传递给商店/索引控制器<% Category.all.each do |category| %>
<div><%= link_to category.name.titleize, shop_index_path :category_id => category.id %></div>
<hr>
<% end %>
控制器:
class ShopController < ApplicationController
def index
@products = Category.find(params[:category_id]).products
end
end
哪个类别有很多产品。但每当我点击链接时我都会
Couldn't find Category without an ID
谁能明白这是为什么?
编辑:这是我使用的路线
get 'shop/index'
答案 0 :(得分:4)
尝试添加params
:
shop_index_path(params: { category_id: category.id })
您需要优化路线以传递params
:
get 'shop/index/:category_id', to: 'shop#index'
现在你可以将category_id
传递给路径助手,如:
shop_index_path(category.id)
答案 1 :(得分:0)
应该是
<%= link_to category.name.titleize, shop_index_path(category.id) %>
答案 2 :(得分:0)
当然你可以使用:
shop_index_path(category.id)
然后加载:
Category.find(params[:id]).products