Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ruby aasm gem:事件名称更改,但允许的方法仍然要求使用旧的事件名称_Ruby On Rails_Ruby_Aasm - Fatal编程技术网

Ruby on rails ruby aasm gem:事件名称更改,但允许的方法仍然要求使用旧的事件名称

Ruby on rails ruby aasm gem:事件名称更改,但允许的方法仍然要求使用旧的事件名称,ruby-on-rails,ruby,aasm,Ruby On Rails,Ruby,Aasm,我一直在使用aasm gem来定义一个对象。它附带了几个用于事件的公共方法。例如: 对于对象a_机器,事件启动会将对象传输到新状态。我可以做以下查询:一台机器。可以启动吗?。但是,我将名称boot_up改为wake_up。现在,以下方法引发异常: a_machine.aasm.events(permitted: true) # undefined method: may_boot_up? 我想问一下“允许”是如何实现的,因为它仍然有一个与过期事件名称关联的过期公共方法 其他事情都很好。有人知

我一直在使用aasm gem来定义一个对象。它附带了几个用于事件的公共方法。例如:

对于对象a_机器,事件启动会将对象传输到新状态。我可以做以下查询:一台机器。可以启动吗?。但是,我将名称boot_up改为wake_up。现在,以下方法引发异常:

a_machine.aasm.events(permitted: true)

# undefined method: may_boot_up?
我想问一下“允许”是如何实现的,因为它仍然有一个与过期事件名称关联的过期公共方法

其他事情都很好。有人知道为什么吗?或者,你能给我进一步的指示如何继续吗? 谢谢,

编辑:我有更多线索: 在我将事件的名称:boot_up更改为:wake_up之后,实际发生的情况是:boot_up符号仍然保留在事件数组中,并将一个新符号:wake_up添加到该数组中。a_machine.aasm.events.map&:name返回事件数组


更新:现在问题是:如何从AASM::Core::event中删除事件,因为:boot\u up是作为事件添加的,通过更改名称,我意外地只添加了一个新事件:wake\u up。

一旦更改了状态机事件,您将需要重新启动rails控制台/服务器。

您重新启动了rails吗控制台,因为你改变了状态机?LOL@marcbest,你喜欢把你的评论作为一个答案,这样我就把它标记为已解决??:我花了很多精力去调查LOL