Rails

2009-04-06 11 views
8

üzerinde sonlu durum makinesini (AASM kullanarak) doğrulamak Bir AR nesnesi için 4 adımlık bir sihirbaz oluşturmak için AASM by Rubyist kullanıyorum. Nesnenin durumuna göre yapılması gereken farklı doğrulamalar vardır. Bir nesneyi belirli bir geçişte durumuna göre doğrulamanın en akıllı yolu nedir?Rails

cevap

8

Birlikte birleştirmek için :if seçeneğini ve with_options seçeneğini kullanın.

class Post < ActiveRecord::Base 
    with_options :if => proc {|r| r.signup_step > 2 } do |o| 
    o.validates_presence_of :title 
    o.validates_presence_of :yeah 
    end 
end 

tam olarak ne olursa yordam yazmak gerektiğini açıkça, uygulanmasına bağlıdır.