错误的订单与ActiveRecord查询
问题描述:
我使用ActiveRecord与PostgreSql,我使用的是订单方法。错误的订单与ActiveRecord查询
但顺序不正确。
在categories_controllerdef show
@categories = Category.all.order('id DESC')
end
在类别
显示视图
<% @category.posts.each do |post| %>
<p><%= post.id %></p>
<% end %>
它显示了这样的顺序。
<p>3</p>
<p>7</p>
<p>6</p>
<p>4</p>
<p>5</p>
<p>1</p>
<p>2</p>
答
您想post.id
订购,但你实际上是通过category.id
订购。正确的查询是:
@category = Category.find(params[:id])
@category.posts.order(:id).each do |post|
post.id
end
在'show'方法中,您已经定义了'@ categories',但在视图中使用'@ category'。此外,您正在整理“类别”模型,但在视图中,您显示的是类别的帖子。这完全不相关。 – 31piy
您想要在'category'或'posts'上订购吗? –