テーブル:
User
Project has_many Results
Project has_many Data through ProjectData
Results belongs_to data, project
Result
テーブルには、int型の列が:position
あります。
だから私は、実際には の値ですべてresults
を取得したいと思います。level < 50
count
私はResultクラスに追加することを考えています
def get_top_level current_user
tsum = []
Project.where(user_id: current_user).each do |project|
tsum << project.results.where("level <= ?", 50).count
end
return sum(tsum)
end
これは機能しますが、これを行うための簡単できれいな方法があるはずです。
また、ビューでクラス名を使用して、たとえば次のように異なる値を渡しても問題ありません。
<%=Results.get_top_level(current_user)%>
または
<%=@results.get_top_level(current_user)%>
これらのどれもが良い方法でない場合は、これに対する代替ソリューションを教えてください。
ありがとうございました。