以自定义顺序从模型中提取记录

时间:2016-10-19 00:46:18

标签: ruby-on-rails ruby

我有一个带有用户,应用和评论模型的rails应用程序。当用户访问应用程序显示页面时,我将获取应用程序的所有评论@app.reviews

协会。

用户 - > has_many:reviews,has_many:apps

评论 - > belongs_to:app,belongs_to:user

App - > has_many:reviews,belongs_to:user

我想通过top / first中的current_user评论获取所有评论。怎么办?

1 个答案:

答案 0 :(得分:0)

您可以使用ActiveRecord。您已经使用它来获取该特定应用的所有评论。你可以继续使用:

@app.reviews.where(user_id == current_user.id)

其中current_user是您的用户。 belongs_to和has_many调用将这些ID放在那里供您使用。

由于您打算这样做以便首先订购current_user的评论,您可以执行以下步骤:

  1. 获取对user_id!= current_user.id的应用的所有评论,并以数组形式存储。
  2. 查找current_user的评论,存储在另一个数组中。
  3. 首先使用current_user评论连接两个数组,产生一个包含应用程序所有评论的数组,但首先订购current_user评论。