Валидация конечного автомата (с использованием AASM) в Rails - PullRequest
8 голосов
/ 06 апреля 2009

Я использую AASM от Rubyist для создания 4-х ступенчатого мастера для объекта AR. В зависимости от состояния объекта существуют различные проверки, которые необходимо выполнить. Какой самый умный способ проверить объект в соответствии с его состоянием на определенном переходе?

1 Ответ

8 голосов
/ 06 апреля 2009

Используйте опцию :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, очевидно, зависит от вашей реализации.

...