状態遷移ごとに呼び出したいメソッドが 2 つあります。今、私はやっています:
aasm_event :nominate_for_publishing, :before => [:set_state_last_updated_by, :set_state_updated_at] do
transitions :to => :under_review, :from => [:work_in_progress]
end
aasm_event :publish, :before => [:set_state_last_updated_by, :set_state_updated_at] do
transitions :to => :published, :from => [:work_in_progress, :under_review], :guard => :is_publishable?
end
aasm_event :unpublish, :before => [:set_state_last_updated_by, :set_state_updated_at] do
transitions :to => :work_in_progress, :from => [:published, :under_review]
end
明らかに、これは最善のアプローチではありません。私はコードを複製しています。より基本的には、コールバックがステート マシン全体に実際に適用されるときに、コールバックを特定の遷移に関連付けています。これを処理するより良い方法は何ですか?