繁体   English   中英

使用state_machine

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM