Rail必须在模型中创建一个"fake"列



在我的标签中我有:

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

我想在model中创建一个名为rating的"假"列,它是(rating_score/ratings)。我可以在我的控制器中使用它来排序after和view

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

注意,不能让SQL查询按虚拟属性对结果排序。你能做的就是像这样在你的模型中定义这个方法:

def rating
  rating_scope / ratings
end

并根据值在ruby中排序结果集:

results.sort_by(&:rating)

相关内容

  • 没有找到相关文章

最新更新