Ruby on rails 按类别排序的项目
我的数据库里有这些。每个项目都在某个类别中,我希望显示该类别中的所有项目以及类别id。如下所示: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",
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
-给我一点时间,我认为这里的问题不是语法,而是控制器不明白我的意思。它与控制器无关,只需将代码放到视图中,就可以了。