AASM:从任何州过渡?

发布于 2024-10-16 05:51:57 字数 274 浏览 1 评论 0原文

我正在使用 AASM。是否可以从任何状态转换?例如:

aasm_event :publish do
  transitions :to => :publish, :from => ANY_STATE
end

我知道可以将状态数组传递给 :from,但这不是我想要的。我尝试完全省略 :from ,但这不起作用。

I am using AASM. Is it possible to transition from any state? For example:

aasm_event :publish do
  transitions :to => :publish, :from => ANY_STATE
end

I know that it is possible to pass an array of states to :from, but this isn't what I'm after. I have tried omitting the :from completely, but that didn't work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

水溶 2024-10-23 05:51:57

aasm 现在支持不指定任何 from 的转换,这将允许从任何状态转换。

aasm_event :publish do
  transitions to: :publish # from ANY
end

(吹牛的权利:我添加这个功能是因为我需要它)

aasm now supports transitions without any from specified, which will allow transitioning from any state.

aasm_event :publish do
  transitions to: :publish # from ANY
end

(bragging rights: I added this feature because I needed it)

差↓一点笑了 2024-10-23 05:51:57

您可以通过 aasm_states 类方法获取状态,前提是它们已在代码中的前面定义。

aasm_event :publish do
  transitions :to => :publish, :from => aasm_states.map(&:name)
end

You can get the states via the aasm_states class method, provided they have already been defined earlier in the code.

aasm_event :publish do
  transitions :to => :publish, :from => aasm_states.map(&:name)
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文