问题标签 [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 回答
587 浏览

ruby-on-rails - 如何仅在aasm中为特定转换设置回调后?

我有 2 个事件:

如何在回调后仅在 event1 中设置第一次转换?(我不能将第二次转换替换为其他事件)

我试过了

但它不起作用

0 投票
1 回答
145 浏览

ruby - AASM 在子类中添加回调

当在父模型中定义 AASM 时,有没有办法在子模型中添加回调?

在子类中,我们要添加回调mail_it。看来我们必须event从父级重新定义整个以添加另一个回调?

0 投票
1 回答
460 浏览

ruby-on-rails - 有没有办法将 AASM 与用户配置的状态和转换一起使用?

我正在使用带有 Rails 的 AASM,我一直在寻找解决问题的方法,我需要制作一个由用户配置的状态机系统。

想象一下这个场景:

  1. 用户访问 States CRUD 页面
  2. 用户为项目模型创建一个新状态 X 和一个新状态 Y
  3. 用户为项目模型创建从状态 X 到状态 Y 的转换
  4. 用户访问项目展示页面
  5. 用户可以在他为项目模型创建的状态之间切换

有没有一种简单的方法可以使用 AASM 来实现这些案例?

我想象过这样的事情:

0 投票
2 回答
720 浏览

ruby-on-rails - 由 current_user 保护的 AASM

是否可以使用 AASM 设置按用户角色控制事件访问的警卫?

这似乎是一个相当常见的用例,但我找不到一致同意的答案。许多人似乎建议将权限逻辑保留在控制器中,这当然可行,但意味着将状态机逻辑注入到多个控制器中。这有几个原因很糟糕,但最关键的是,对 SM 的任何更新都需要找到所有使用情况,以便与模型一起修改。

我提出的解决方案有效,但我很好奇是否有人找到了更好的解决方案。

我的解决方案:

在我的 AASM 课程中,我包括了;

这反过来又允许我在我的控制器中执行以下操作:

检查当前用户,或交替进行;

检查默认用户。

这是解决这个问题的最佳方法吗?有人有更好的建议吗?

0 投票
1 回答
205 浏览

ruby-on-rails - 多租户 Rail 应用程序中状态机 gem 的线程安全

有一些流行的 Ruby 状态机 gem,例如geekq/workflowaasm。它们在多租户 Rails 4.2 应用程序中是线程安全的吗?

我正在使用whichgeekq/workflow定义process definitionmodel class. class method这让我想知道其他迟到的用户是否会覆盖以前的用户工作流定义。

一些开发人员可以评论状态机的线程安全问题吗?或者推荐一个在多租户 Rails 应用程序中线程安全的状态机 gem?

0 投票
1 回答
510 浏览

ruby-on-rails - Rails AASM 帮助程序,用于链接可能进入的状态。方法调用的前缀

may_run?在 AASM 中,您可以在 AASM中的示例代码中调用as。

目的:

例子

may_如果我将对象和动作作为参数传递,我如何创建一个测试动作的助手。本质上,我想使用类似于以下的帮助器为方法调用添加前缀:

0 投票
1 回答
106 浏览

ruby-on-rails - aasm ruby​​ gem:没有限制的超级用户

给定使用aasm gem的下一个模型:

我的网络应用程序上有两种类型的用户(普通用户和超级用户)。我需要超级用户类型,能够调用他们想要的事件。就像在 state=cleaning 的作业上调用 #run。

因此,据我了解,我需要的是在运行时解决转换的问题。如果用户是超级用户,则from将是所有状态,但如果用户不是超级用户,则每个 from 将具有不同的状态。

有什么干净的方法可以做到这一点吗?你有什么想法?

0 投票
1 回答
25 浏览

state-machine - 使用 eval 执行 aasm 块时出错

我们将整个aasm块放在字符串中并在payment_request 模型中对其进行评估。这是定义:

错误是:

这是变量的值:

如果删除 (:test)',则同样的错误指向下一个:

评估中缺少什么?

0 投票
1 回答
579 浏览

ruby-on-rails - rails 中的 aasm 列是什么意思

我是 Rails 新手,我正在做一个包含此代码的项目

aasm_column 是什么意思,这样做的陈词滥调是什么

0 投票
1 回答
1262 浏览

ruby-on-rails-4 - 一个模型中的多个状态机,用于带有 aasm 的枚举字段

我正在使用 Rail 4.2.3 和 aasm gem 4.1 版是否可以在一个模型中为枚举字段添加两个状态机?

我有枚举状态:[:active, :suspended, :deleted] 和枚举活动:[:working, :stopped]

我不会像这样的2个状态机:

和其他状态机:

但规格因错误而失败:

AASM::UnknownStateMachineError:在 ModelName 中没有定义名称为“默认”的状态机

我错过了什么?