在多个find_related查询上排序act-as-taggable

时间:2013-06-05 20:33:42

标签: ruby-on-rails sorting acts-as-taggable-on

我有一个Kid模型,其中包括以下内容:

acts_as_taggable
acts_as_taggable_on :interests, :traits
attr_accessible :first_name, :last_name, :age, :interest_list, :trait_list

利益可以= [“滑板”,“滑雪板”,“轮滑”等)

和特征可以= [“害羞”,“响亮”,“短”,“高”]等。

我正在尝试实现一种方法:

def similar_kids
end

返回具有相似兴趣,相似特征且年龄接近的孩子。我也希望similar_kids按(按此顺序)排序:

  • 兴趣+共同特征(DESC)
  • 年龄差异(ASC)

IE给出。

  • 孩子年龄= 16
  • Kid B与Kid A共有3个兴趣和1个特征,并且是20岁
  • Kid C有2个兴趣和2个与Kid A共同的特征,并且是16岁

similar_kids的顺序为:

  • Kid C
  • Kid B

有没有办法可以有效地使用宝石做到这一点?它看起来越来越像我需要做一些自定义的事情,但我真的很喜欢用行为标记设置的方式。

谢谢!

0 个答案:

没有答案