我对 Rails 相当陌生,一般来说是一名中级程序员,但我会尽量做到清楚。
我有一个 Products 的数据库表,它拥有一个名为 category 的字段。Category 有两个可能的值,分别称为 Category1 和 Category 2。目标是检索所有产品并将它们显示在按类别组织的 HTML 中。我可以完成这项工作,但我知道必须有更好的方法。
我现在的方法是让我的产品像这样:
@category1_products = Product.all(conditions: { category: "Category1" })
@category2_products = Product.all(conditions: { category: "Category2" })
然后输出如下数据:
<table>
<tr>
<td>Category1 Name</td>
<% @category1_products.each do |product| %>
<td><%= product.name %></td>
<td><%= product.description %></td>
<td><%= product.price %></td>
<% end %>
</tr>
<tr>
<td>Category2 Name</td>
<% @category2_products.each do |product| %>
<td><%= product.name %></td>
<td><%= product.description %></td>
<td><%= product.price %></td>
<% end %>
</tr>
</table>
我想使用单个实例来完成此操作:一次获取所有产品,按类别对它们进行分组,然后通过一次循环一个类别(包括类别名称)来输出它们。这对我来说似乎是一个非常基本的概念,但我很难理解它。