私は現在、Rails アプリを開発しており、state_machine ジェムを使用して複雑なプロセスを顧客に案内しています。
プロセスの複数の状態で、一定期間後にイベントをトリガーする必要があります。たとえば、顧客が 5 日経っても注文を受け取ったことを確認していない場合、自動的に電子メールを送信して小包追跡プロセスを開始したいと考えています。
class Order < ActiveRecord::Base
state_machine :initial => :confirmed do
after_transition :on => :not_received_by_5_days, do |order, transition|
order.send_email
order. .....
order. .....
event :customer_confirmation do
transition :confirmed => :order_received
end
event :not_received_by_5_days do
transition :confirmed => :parcel_tracking_process
end
def send_email
blabla
end
end
end
以前のソリューションをテストした後の編集:
一定期間後に遷移をトリガーするにはどうすればよいですか?
ありがとうございました、
クレマン