使用:
gem 'aasm'
2.設(shè)置一個初始狀態(tài)
class Customer < ActiveRecord::Base
include AASM
aasm do
state :published, initial => true
state :checked_success
state :checked_faild
end
end
3.狀態(tài)轉(zhuǎn)換
初始狀態(tài)為published(未審核),審核通過,則為checked,審核未通過,則為denied。
class Customer < ActiveRecord::Base
include AASM
aasm do
state :published, initial => true
state :checked_success
state :checked_faild
state :deleted
#正在審核
event :on_checked do
translation :from => :published, :to => :on_checking
end
#審核通過
event :checked_succeed do
translation :from => :on_checking, :to => :finished
end
#刪除該記錄
event :deleted do
translation :from => [:checked, :finished], :to => :sleeping
end
end
end
觸發(fā)切換事件執(zhí)行的條件 after_commit: :事件