Ruby on rails 3 动态虚拟属性?

Ruby on rails 3 动态虚拟属性?,ruby-on-rails-3,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 class-Student:知识点信息, :conditions=>[“knowl

我的模型:

class Student < ActiveRecord::Base
has_many :lack_knowledge_points, :through => :knowledge_point_infos,
:conditions => ['knowledge_point_infos.level <= ?',10],:source => :knowledge_point
class-Student:知识点信息,

:conditions=>[“knowledge\u point\u infos.level我不清楚您希望“level”如何是动态的。无论如何,您可以将作用域与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
#如果希望它返回数组
def缺乏知识点(基本要求)

知识点信息。where('level)您可以将作用域与lambda syntax一起使用。未尝试过,但我发现您的情况与此相同:谢谢您的帮助