动态虚拟属性?

时间:2012-02-09 08:57:41

标签: ruby-on-rails-3

我的模特:

class Student < ActiveRecord::Base
has_many :lack_knowledge_points, :through => :knowledge_point_infos,
:conditions => ['knowledge_point_infos.level <= ?',10],:source => :knowledge_point

我希望10是动态的

我的最佳做法是什么?

定义一个方法和find_by_sql?或者Rails可以为我做点什么吗?

1 个答案:

答案 0 :(得分:0)

我不清楚你希望'水平'是如何动态的。无论如何,您可以将范围与lambda一起使用或在模型中定义方法。

#If you want it to return an array
def lack_knowledge_points(threshold)
  knowledge_point_infos.where('level <= ?', threshold).map{|info|info.knowledge_point}
end