我目前正在嘗試驗證沒有ActiveRecord::Base
繼承的字段。Ruby on Rails:如何在沒有Active Record的情況下驗證模型?
我的模型將數據存儲在緩存服務器上,所以我不需要ActiveRecord。
無論如何,我想驗證模型的字段,就像我使用ActiveRecord(例如validates_numericality_of :quantity, :greater_than => 0
)一樣?
我該怎麼做?
非常感謝您的幫助。
我目前正在嘗試驗證沒有ActiveRecord::Base
繼承的字段。Ruby on Rails:如何在沒有Active Record的情況下驗證模型?
我的模型將數據存儲在緩存服務器上,所以我不需要ActiveRecord。
無論如何,我想驗證模型的字段,就像我使用ActiveRecord(例如validates_numericality_of :quantity, :greater_than => 0
)一樣?
我該怎麼做?
非常感謝您的幫助。
在Rails 3中,Active Model包含Active Record的非數據庫功能。
基本上,你需要包括ActiveModel::Validations
,定義字段attr_accessor
,使用initialize
方法來初始化屬性,使他們非持續爲你的模型沒有保存到數據庫中。
通過這種方式,您可以對無模式模型和控制器進行驗證,就像您使用活動記錄一樣。這個http://railscasts.com/episodes/219-active-model上還有一個Railscast。
請查看我們的Veto gem而不是如果您正在尋找獨立的驗證紅寶石對象。它很輕量級,並且沒有依賴關係。ActiveModel可能會矯枉過正。
我相信這是這個問題:http://stackoverflow.com/questions/315850/rails-model-without-database – 2012-03-22 05:23:58