ActiveRecord查询的顺序不正确

时间:2017-07-18 05:32:39

标签: ruby-on-rails ruby postgresql ruby-on-rails-4

我正在使用ActiveRecord和PostgreSql,我正在使用订购方法。

但订单不正确。

category_controller中的

def 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>

1 个答案:

答案 0 :(得分:1)

您希望按post.id排序,但实际上是按category.id排序。正确的查询是:

@category = Category.find(params[:id])
@category.posts.order(:id).each do |post|
  post.id
end