Ruby 在Rails 3.1.1中将值从视图传递到控制器时出现故障
我有两个模型产品和类别,它们有很多,分别属于协会。现在,我想做的是,当我点击特定类别时,我希望该类别的所有产品都能被列出。我该怎么做 这是我的看法Ruby 在Rails 3.1.1中将值从视图传递到控制器时出现故障,ruby,ruby-on-rails-3.1,Ruby,Ruby On Rails 3.1,我有两个模型产品和类别,它们有很多,分别属于协会。现在,我想做的是,当我点击特定类别时,我希望该类别的所有产品都能被列出。我该怎么做 这是我的看法 <p><%=link_to @product.category.name, show_by_category_products_path(@product.category.id)%> <%= @product.name%> <%=@product.category.id%><p> 谢谢
<p><%=link_to @product.category.name, show_by_category_products_path(@product.category.id)%> <%= @product.name%> <%=@product.category.id%><p>
谢谢!(我知道这很简单,但有时你会失明,看不到直截了当的方法,所以你必须寻求他人的帮助)
编辑
好吧,也许我找到了解决这个问题的办法。。但我不确定这样做是否正确
现在我的视图和模型看起来像这样
<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
def按类别显示
@prod=Product.find(参数[:id])
@产品=产品。其中('category\u id=?',@prod.category\u id)
结束
告诉我这是不是正确的方法?我建议您至少阅读一下指南,因为您做得不对。您的查找应该更像
Category.find(params[:id]).products
。但是试着遵循RESTful路由原则,并嵌套您的资源。Rails将为您提供更多功能。那么问题出在哪里?您是否收到错误?是否为自定义操作添加了路由(show\u by\u category
)?它可能应该类似于成员do;获取:按类别显示;在您的资源中结束:产品不。。。结束
block。是,我添加了路线。我没有得到一系列的产品。零。
<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