私はレールに非常に慣れていないので、MVC フレームワークと RESTful アーキテクチャの背後にある概念を学び始めています。私にとって灰色の領域であった質問は、後処理データの背後にあるロジックが、モデル、ビュー、またはコントローラーによって最もよく処理される可能性があるのはどこでしょうか? コントローラーに属していることは直感的に理解できますが、何がベスト プラクティスと見なされるかはわかりませんでした。たとえば、リソースの生徒がいて、合計点を合計し、それを合計可能な点数で割って最終成績を表示したい場合、その計算はどこに置くのでしょうか? クラスの平均を計算したい場合はどうすればよいですか? それとも彼らのGPA?
質問する
288 次
2 に答える
0
私は Fat Model Skinny Controller のマントラに従う傾向があります。計算値は、モデル内のメソッドである必要があります。インスタンス メソッドを使用して個々の生徒の成績を計算し、クラス メソッドを使用してクラス全体の平均を計算する必要があります。
Class Student < ActiveRecord::Base
POSSIBLE_POINTS = 100
def grade
points / POSSIBLE_POINTS
end
def self.class_averags
students = all #or use where to filter results
total = students.inject(0){ |total, student| total + student.grade }
total / students.size
end
end
お役に立てれば。
于 2012-10-08T20:15:07.487 に答える