簡體   English   中英

Ruby on Rails:如何在沒有Active Record的情況下驗證模型?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM