我是新來的鐵軌,我可以想出幾種方法來解決這個問題,但我想這樣做「鐵軌」的方式。我的問題是我有一個模型 - 考試 - 其中:has_many問題。我想在考試模型中寫一個函數,它將計算考試的分數(並將其存儲在考試模型中)。爲此,我需要從屬於考試的問題對象中讀取數據。如何根據rails3中該模型的子模型計算模型中的值?
任何提示或指向文檔的鏈接將不勝感激。
我是新來的鐵軌,我可以想出幾種方法來解決這個問題,但我想這樣做「鐵軌」的方式。我的問題是我有一個模型 - 考試 - 其中:has_many問題。我想在考試模型中寫一個函數,它將計算考試的分數(並將其存儲在考試模型中)。爲此,我需要從屬於考試的問題對象中讀取數據。如何根據rails3中該模型的子模型計算模型中的值?
任何提示或指向文檔的鏈接將不勝感激。
只要你沒有寫任何有關你的數據結構的東西,讓我們想象你的每個問題has_got布爾correct
字段。並且您的考試已獲得Integer total_score
字段。所以在檢查後應該用正確答案來計算所有問題:
class Exam < ActiveRecord::Base
has_many :questions
before_save :set_score
def set_score
total_score = questions.where(:correct => true).count
end
end
謝謝fl00r。這正是我所期待的。你猜的數據模型與我正在做的很相似。我喜歡使用before_save方法保存分數的想法。再次感謝。 – spinlock 2011-03-28 16:20:40
信息不夠。什麼是分數?你想如何計算它? – fl00r 2011-03-28 16:15:50