2012-02-09 13 views
0

マイモデル:動的仮想属性ですか?

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は私にとって何か他のことをすることができますか?

+0

あなたは – Fivell

答えて

0

「レベル」をどのように動的にするかは明確ではありません。とにかく、ラムダでスコープを使用するか、モデルでメソッドを定義することができます。

#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 
+0

が 試したことのないラムダ構文でスコープを使用することができますが、私は何かがあなたと同じように見える見つけます。http://www.railway.at/2010/03/09/named-scopes-are-dead/ 助けてくれてありがとうございます –

関連する問題