[英]Ruby on Rails: How to validate a model without Active Record?
我目前正在嘗試驗證沒有ActiveRecord::Base
繼承的字段。
我的模型將數據存儲在緩存服務器上,因此我不需要ActiveRecord。
無論如何,我想驗證模型的字段,就像我使用ActiveRecord一樣(例如validates_numericality_of :quantity, :greater_than => 0
)?
我怎樣才能做到這一點?
非常感謝您的幫助。
在Rails 3中,Active Model包含Active Record的非數據庫功能。
基本上,您需要包含ActiveModel::Validations
,將您的字段定義為attr_accessor
,使用initialize
方法初始化屬性並使其不持久化,因為您的模型不會持久保存到數據庫。
這樣,您可以對無表格模型和控制器進行驗證,就像使用Active Record一樣。 這個http://railscasts.com/episodes/219-active-model上還有一個Railscast。
如果您正在尋找紅寶石對象的獨立驗證,請查看我們的Veto gem 。 它是輕量級的,沒有依賴性.ActiveModel可能有點過分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.