8
私はAASM by Rubyistを使用してARオブジェクトの4ステップウィザードを構築しています。オブジェクトの状態に応じて、実行する必要のあるさまざまなバリデーションがあります。特定のトランジションで状態に応じてオブジェクトを検証する最もスマートな方法は何ですか?Railsで有限状態マシン(AASMを使用)を検証する
私はAASM by Rubyistを使用してARオブジェクトの4ステップウィザードを構築しています。オブジェクトの状態に応じて、実行する必要のあるさまざまなバリデーションがあります。特定のトランジションで状態に応じてオブジェクトを検証する最もスマートな方法は何ですか?Railsで有限状態マシン(AASMを使用)を検証する
: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で書いておかなければならないのは、明らかにあなたの実装に依存します。