*我不确定这个问题会出现什么概念 - 这会被视为多态关联吗?
我想创建一个系统,用户可以在其中设置触发器,以便在某个事件发生后,发生另一个事件。
例如,我希望用户能够将触发操作定义为:
"此[电子邮件,文档]必须在[注册,阅读电子邮件A,签署文档B]后发送给所有用户。"
正如您在括号" []"中看到的那样,条件可以与各种对象和动作相关联。 我的想法是创建一个模型TriggerCondition并存储列
:object_id, :assigned_to, :activated_when
但object_id(Email,Document)可以是不同的模型。
添加列:object_type可以是电子邮件还是文档是最佳解决方案?或者是否有更复杂的设计方式,以便我可以传入一个对象,它会自动知道我所指的是什么?
关于:activated_when条件,我完全不确定如何存储和检查条件。我是否可以使用类似于"电子邮件#marked_as_read(A)的语法?"
我试图使用Rails Observers来触发操作 http://api.rubyonrails.org/v3.2.13/classes/ActiveRecord/Observer.html