Ruby on rails 按类别排序的项目

Ruby on rails 按类别排序的项目,ruby-on-rails,ruby,Ruby On Rails,Ruby,我的数据库里有这些。每个项目都在某个类别中,我希望显示该类别中的所有项目以及类别id。如下所示: 1 Expresso Americano 2 Capuchino 这是我的种子代码: {content: "expresso", price: "29000", category_id: 1}, {content: "Americano", price: "29000", category_id: 1}, {content: "Capuccino", price: "35000",

我的数据库里有这些。每个项目都在某个类别中,我希望显示该类别中的所有项目以及类别id。如下所示:

1 
Expresso
Americano
2
Capuchino
这是我的种子代码:

  {content: "expresso", price: "29000", category_id: 1},
  {content: "Americano", price: "29000", category_id: 1},
  {content: "Capuccino", price: "35000", category_id: 2}, 
这是执行查询的控制器操作:

def menu
  @items = Item.order('content ASC')
end
在你看来:

 <%- Category.includes(:items).order('categories.id').each do |category| %>
    <%= category.id %>
    <%- category.items.each do |item| %>
      <% = item.content %>

在您的视图中:

 <%- Category.includes(:items).order('categories.id').each do |category| %>
    <%= category.id %>
    <%- category.items.each do |item| %>
      <% = item.content %>


你能从这里删除
N+1
查询吗??通过在控制器操作中使用
Category.includes(:items).order(“categories.id”)
为#app/views/categories/menu.html使用未定义的局部变量或方法“categories”。erb:11:在这里出现错误时,我是否必须在控制器文件中写入更多内容@安德烈Deineko@vicnoob我使用了
haml
语法,而您使用了
erb
,这就是您遇到问题的原因。让我把它改成
erb
-给我一点时间,我想这里的问题不在于语法,但控制器不明白我的意思,它与控制器无关,只需将代码放到视图中就可以了。你能从这里删除
N+1
查询吗??通过在控制器操作中使用
Category.includes(:items).order(“categories.id”)
为#app/views/categories/menu.html使用未定义的局部变量或方法“categories”。erb:11:在这里出现错误时,我是否必须在控制器文件中写入更多内容@安德烈Deineko@vicnoob我使用了
haml
语法,而您使用了
erb
,这就是您遇到问题的原因。让我把它改成
erb
-给我一点时间,我认为这里的问题不是语法,而是控制器不明白我的意思。它与控制器无关,只需将代码放到视图中,就可以了。