问题标签 [aasm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
549 浏览

ruby - Ruby 使用 AASM 添加动态事件

我在一个处理游戏状态的程序中有一个类。我实际上是用 AASM 处理它,所以要创建一个事件,我必须在aasm_event :name ...类内部使用类似的东西。

我需要能够加载其他必须动态向类添加事件和状态的文件。

这怎么可能 ?

先感谢您。

0 投票
1 回答
2028 浏览

ruby-on-rails - AASM:警卫回调的正确语法

这是我的示例代码:

这是我的代码外观的玩具表示。我只是从警卫回调中返回 false 来测试不执行转换或之后的行为。这是我在测试中调用的代码

这是输出

请注意,守卫永远不会被召唤......

我把警卫放在错误的地方了吗?我误会返回 false 会停止过渡吗?停止转换是否也会导致 after 回调被忽略?还是无论如何都会执行 after ?

如果最后一件事是真的,我如何将状态传递给该回调?

提前谢谢,如果您需要更多信息,请告诉我...

京东

0 投票
3 回答
1742 浏览

ruby-on-rails - 如果该事件不适用于当前状态(未定义转换),如何告诉 AASM 忽略该事件?

我正在使用 AASM。我有一个用转换定义的事件。如果引发事件并且模型处于 :from 状态,则它可以工作。但是,如果模型处于任何其他状态,它会引发 InValidTransition 异常。

现在,如果我执行 mymodel.myevent!当 mymodel 处于 :first 或 :third 状态时,aasm 会抛出 InValidTransition。在这些状态下,我如何告诉 aasm 忽略该事件?

0 投票
1 回答
1493 浏览

ruby-on-rails - 如何在 Rails 的 aasm 回调中访问新旧状态?

我是 Ruby 和 Rails 的新手。

我正在使用 AASM 将状态机行为放入模型类中。根据新旧状态,我想以不同的方式处理状态更改事件。

我如何使用“to”和“from”状态作为参数调用“after”回调,或者如果它们有我需要的内容,如何访问 AASM 持有的内部字段?...还是我只需要在回调之前和之后都添加并将之前的状态保存在之前的回调中?

0 投票
2 回答
2087 浏览

ruby-on-rails - AASM 不适用于我的 rails 3 和 ruby​​ 1.8.7(nil:NilClass 的未定义方法“名称”)

我正在使用带有 aasm gem 的 Rails 3.2.2,我有这样的Document模型:

现在在我的控制台上:

如你所见,我不断得到

nil:NilClass 的未定义方法“名称”

我正在使用 Ruby 1.8.7。

0 投票
2 回答
2670 浏览

ruby-on-rails - 如何将默认 AASM 状态添加到现有模型

我在 Rails 中有一个现有模型,我想向其中添加 AASM 状态。

根据我的理解,我应该首先通过迁移向我的数据库添加一个状态列,然后向我的 rails 模型添加一些状态。如何根据另一列中的值设置默认状态值?

我在正确的轨道上吗?

0 投票
1 回答
4349 浏览

ruby-on-rails - state_machine vs aasm gems for app ruby​​ on rails 3.2

我需要一个用于消息私有系统和订单状态系统的状态机。

你可以看到这两个宝石:

https://github.com/pluginaweek/state_machine

https://github.com/rubyist/aasm

编辑..

我正在将 mongoid 与 mongodb 数据库一起使用

什么宝石最适合此功能?

0 投票
1 回答
1607 浏览

ruby-on-rails - rails aasm:获取允许特定事件的所有状态

我是 AASM 的新手,并试图获取 MyModel 模型中可以转换为状态的所有状态的列表:newstate。

因此,例如:

基本上,我想通过模型返回 [:start, :working] 数组,所以类似于

但是,好吧,这不是语法......我在文档中找不到任何东西。

任何建议表示赞赏。

0 投票
2 回答
2870 浏览

ruby-on-rails - 如何调用给定状态的 Ruby gem AASM 转换事件?

我们有一个 Ruby on Rails 应用程序。

我们使用 Ruby 的 aasm gem 来管理对象的状态。

如果我们知道一个对象的当前状态,可以使用

而且我们也知道要转换到的状态,我们如何调用事件?

请注意,from-state 和 to-state 是变量,因此我们需要动态地执行上述操作。当然,对于某些 to-state 和 from-state 组合,转换不可用,在这种情况下,我们应该检测到错误。

我们还假设在任何两个状态组合(to-state 和 from-state)之间,只有 1 个事件,我认为理论上可以有超过 1 个。

我认为这可以通过深入研究 aasm 源代码的内部来实现,可以说这可能不是一个好习惯。有什么想法吗?

只是想知道以前是否有人这样做过。

谢谢!

0 投票
2 回答
3266 浏览

ruby-on-rails-3 - 使用 Rails 进行后台视频处理

我试图让上传的视频在后台转换,运行窗口。我正在使用的一些东西:

我已经编辑了注册表以允许从任何地方运行 ffmpeg 命令,我得到一个我认为是 ffmpeg 的弹出窗口,因为它消失得太快了,猜测命令是错误的,所以如果有人知道它有什么问题,请告诉我。但真正的问题是它只是挂在那里,它说:

有谁知道如何正确地让它工作?我已经阅读了一些教程,其中包含我需要的一些零碎的东西,但我无法让它们一起工作。这是我到目前为止所拥有的,如果您需要更多,请告诉我:

模型:

控制器: