我有一个项目模型和一个开发者模型。我有为特定开发人员计算项目的“趣味性”的概念:
class Project < ActiveRecord::Base
def interestingness_for(developer)
some_integer_based_on_some_calculations
end
end
我认为它会很整洁,而不是像Project.order_by_interestingness_for(bill)
, 能够说
Project.order(:interestingness, :developer => bill)
让它成为一个范围而不是一个函数,所以我可以做类似的事情
Project.order(:interestingness, :developer => bill).limit(10)
不过,我不知道该怎么做,因为对我来说如何覆盖范围并不明显。有什么建议吗?