Rails必须在模型中创建一个“假”列

时间:2011-04-24 20:26:44

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

在我的表格中,我有:

rating_score => The current score
ratings => The number of ratings which led to the score

我想创建一个名为rating的“假”列,它在模型中是(rating_score / ratings)。我可以在我的控制器中使用,以便在我看来之后订购。

我应该如何在我的模型中创建它?

1 个答案:

答案 0 :(得分:2)

请注意,您不能通过虚拟属性让SQL查询对结果进行排序。 你能做的就是在你的模型中定义这样的方法:

def rating
  rating_scope / ratings
end

并根据以下值在ruby中对结果集进行排序:

results.sort_by(&:rating)