8

我正在使用Rubyist的 AASM 为 AR 对象构建一个 4 步向导。根据对象的状态,需要进行不同的验证。根据某个转换的状态来验证对象的最聪明的方法是什么?

4

1 回答 1

8

使用该:if选项,并将with_options它们捆绑在一起。

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

显然,你应该在 if-proc 中写什么取决于你的实现。

于 2009-04-06T13:22:02.743 回答