[英]Using state_machine
我正在使用此状态机来管理Invite对象上的“状态”属性
https://github.com/pluginaweek/state_machine
我想要一个send_invite方法,将状态设置为“正在发送”,发送邀请,然后将状态设置为“已发送”或“ could_not_send”,是否存在某些错误
看来我应该能够在状态机DSL中做到这一点,我错了吗?
还是应该添加常规方法?
state_machine :initial => :pending do
event :send do
transition :pending => :sending
end
event :invite_sent do
transition :sending => :invited
end
event :error_sending do
transition :sending => :error
end
end
def send_invite
send
try
.... code to send invite...
invite_sent
catch
error_sending!
end
end
谢谢
建立状态机是为了在一系列无状态Web请求上提供虚拟“状态”。 由于您是在一个请求中完成所有操作,因此实际上不必使用如此繁重的内容-但如果您愿意使用它,它应该可以工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.