我有两个model和product类,它们分别具有has_many和belongs_to关联。现在,我想要做的是当我点击特定类别时,我希望列出该类别的所有产品。如何做到这一点在Rails 3.1.1中将视图传递给控制器的麻烦
这里是我的看法
<p><%=link_to @product.category.name, show_by_category_products_path(@product.category.id)%> <%= @product.name%> <%[email protected]%><p>
和方法在控制器
def show_by_category
@products = Product.where("category_id=?", :id)
end
谢谢! (我知道它的简单的东西,但有时你是盲目的,不能看到一种简单的方式,所以你必须寻求别人的帮助)
编辑 好吧也许我想出了一种方法来解决这个..但我如果在正确的方式
做我不知道现在我的视图和模型看起来像这样
<p><%=link_to @product.category.name, show_by_category_product_path(id: @product.id)%> <%= @product.name%>
def show_by_category
@prod = Product.find(params[:id])
@products = Product.where('category_id=?', @prod.category_id)
end
告诉我,如果这是正确的方式?
那么问题是什么?你有错误吗? – pseudopeach
您是否为自定义操作添加了路线('show_by_category')?它可能应该像“会员”那样; get:show_by_category;在你的'资源:产品做...结束'块中结束。 – Frost
是的,我添加了路线。我没有获得一系列产品。它的零。 –