是否可以从模型类中获取所有事件?我想按事件过滤列表。
答案 0 :(得分:6)
在链接到它的github页面上,它显示了以下API方法:
vehicle.state_events # shows all the events possible from the current state
和
vehicle.state_paths.events # shows all the events for an object
答案 1 :(得分:2)
由于某种原因,我接受的答案需要几秒钟来计算。我想如果你有很多州,就会发生这种情况。
对我有用的是:
Invoice.state_machines[:state].events.map(&:name)
在我的情况下,类名为invoice
,state_machine名为state
。
答案 2 :(得分:0)
编辑2014:此列表说明,而不是事件
我就是这样做的,只列出了键
def self.membership_states
self.state_machines[:membership_status].states.map(&:name)
end
$ User.membership_states
> [:applied, ...