Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails上验证有限状态机(使用AASM)_Ruby On Rails_Ruby_Rubygems_Fsm_Aasm - Fatal编程技术网

Ruby on rails 在Rails上验证有限状态机(使用AASM)

Ruby on rails 在Rails上验证有限状态机(使用AASM),ruby-on-rails,ruby,rubygems,fsm,aasm,Ruby On Rails,Ruby,Rubygems,Fsm,Aasm,我正在使用为AR对象构建一个4步向导。根据对象的状态,需要进行不同的验证。根据对象在特定转换上的状态验证对象的最聪明的方法是什么?使用:if选项,以及和_options将它们组合在一起 class Post < ActiveRecord::Base with_options :if => proc {|r| r.signup_step > 2 } do |o| o.validates_presence_of :title o.validates_presen

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

使用
:if
选项,以及
和_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
class Postproc{| r | r.signup|u step>2}do | o|
o、 验证是否存在:title
o、 验证是否存在:是
终止
终止
显然,您应该在if proc中写什么取决于您的实现