我正在使用带有 Rails 的 AASM,我一直在寻找解决问题的方法,我需要制作一个由用户配置的状态机系统。
想象一下这个场景:
- 用户访问 States CRUD 页面
- 用户为项目模型创建一个新状态 X 和一个新状态 Y
- 用户为项目模型创建从状态 X 到状态 Y 的转换
- 用户访问项目展示页面
- 用户可以在他为项目模型创建的状态之间切换
有没有一种简单的方法可以使用 AASM 来实现这些案例?
我想象过这样的事情:
class Project < ActiveRecord::Base
include AASM
aasm do
State.where(model_name: 'Project').each do |database_state|
state database_state[:name], database_state[:initial]
end
Event.where(model_name: 'Project').each do |database_event|
...
end
end
end