我正在使用此状态机来管理Invite对象上的“state”属性
https://github.com/pluginaweek/state_machine
我希望有一个send_invite方法,将状态设置为“发送”,发送邀请,然后将状态设置为“已发送”或“can_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
谢谢
答案 0 :(得分:0)
状态机是为了在一系列无状态Web请求上提供虚拟“状态”而构建的。由于你是在一个请求中完成这一切,所以不一定要使用这么重的东西 - 但如果你喜欢使用它,它应该可以工作。