2011-06-14 53 views
0

我們創建了一個FakeModel對象類,它繼承Object, 以允許使用沒有數據庫表的模型。Rails:FakeModel多次運行相同的驗證

它具有常規ActiveRecord模型的基本功能。 我們還在類中添加下列行:

include ActiveRecord::Validations 

問題是這樣的: 一個新的請求被髮送到所述控制器,並創建一個新對象從FakeModel類繼承。 當該對象的驗證運行時,它們運行多次。 更具體 - 每個請求發送到服務器, 驗證運行一次比上次請求多一次。

我在服務器級別 猜測這裏的東西「大棒」(當然,當我重新啓動服務器,它重置回運行驗證只有一次)

什麼都可以的,該事業?

UPDATE:

加載ActiveModel解決方案是不可能的我,因爲我使用Rails 2.3.8。我仍然需要弄清楚問題在哪裏。

回答

0

我會建議你使用的加載ActiveModel而不是從從頭開始編寫自己型號的發動機,看到this blog post for a tutorial你還可以觀看this screencast

+0

謝謝,但這不是在到Rails 3 – Nadav 2011-06-14 07:28:07

+0

之前版本支持你是對的,你可能會更新您的文章告訴我們哪些您正在使用的導軌版本。 – 2011-06-14 07:43:31

+0

謝謝,更新。 – Nadav 2011-06-14 08:14:27

0

我在這裏刺向黑暗,但它聽起來像是不斷被包含在每次驗證模型加載/保存的時間。

你能告訴我們你包括它的地方嗎?

在多動症的資源,而不是包括我們使用:

# make validations work just like ActiveRecord by pulling them in directly 
require "active_record/validations.rb" 
extend ActiveRecord::Validations::ClassMethods