Проверка конечного автомата (с использованием AASM) на Rails

Asked
Viewd2278

8

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

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