如何通过嵌套列按顺序获取记录?

时间:2013-01-03 01:05:11

标签: ruby-on-rails ruby-on-rails-3

用户

  • has_many:社区
  • has_many:posts

社区

  • belongs_to:user
  • has_many:posts

发表

  • belongs_to:user
  • belongs_to:社区

我想在 example.com/posts
上显示帖子的所有记录 但必须按照帖子所有者用户的'last_signed_in'列对用户表进行排序。

我尝试了这个,但这会返回错误未定义的方法`用户' 我怎么解决?

@orders = @community.posts.user.order("last_active_at ASC")

1 个答案:

答案 0 :(得分:3)

您无法在一组帖子上调用用户对象。

但您可以在收藏中加入用户:

@community.posts.includes(:user).order("users.last_signed_in")

进一步的信息: http://guides.rubyonrails.org/active_record_querying.html#eager-loading-multiple-associations