2013-08-19 31 views

回答

2

您仍然應該製作模型以保持控制器清潔。

Rails模式是所有的數據訪問應該通過模型來完成。你不一定需要任何更新/插入邏輯,甚至不需要從ActiveRecord繼承,但這正是代碼讀者期望找到數據訪問的地方。此外,您需要將某種對象傳遞給您的視圖,並且使用模型而不是丟棄臨時對象是最有意義的。這樣你可以乾淨地改變模型,只有一個地方可以更新。

例如,假設您稍後需要爲報告添加full_name屬性。如果您在控制器中使用了直接的SQL,並且您只是將查詢結果傳遞給視圖,則您需要更難以協調first_namelast_name。但與模型,你可以添加

def full_name 
    "#{self.first_name} #{self.last_name}" 
end 

在一個地方,這表明報告中的所有控制器的操作現在有一個full_name財產。

如果您打算進行測試,那麼使用模型類可以讓您輕鬆得多。您可以測試模型而不必涉及控制器。

+0

好吧我有名稱爲table1_data的表,a)模型類名稱b)模型文件名 - 應該是什麼樣子。謝謝。 – Ladiko

相關問題