Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails:触发器设置上的多态/对象不可知条件?_Ruby On Rails_Ruby_Triggers_Polymorphic Associations_Observers - Fatal编程技术网

Ruby on rails RubyonRails:触发器设置上的多态/对象不可知条件?

Ruby on rails RubyonRails:触发器设置上的多态/对象不可知条件?,ruby-on-rails,ruby,triggers,polymorphic-associations,observers,Ruby On Rails,Ruby,Triggers,Polymorphic Associations,Observers,*我真的不确定这个问题属于什么概念——这会被认为是多态关联吗 我想创建一个系统,用户可以在其中设置触发器,以便在某个事件发生后,另一个事件发生 例如,我希望用户能够将触发器操作定义为: 此[电子邮件,文档]必须在所有用户[注册,阅读电子邮件A,签署文档B]后发送给他们 正如您在括号[]中看到的,条件可以绑定到各种对象和动作。 我的想法是创建一个TriggerCondition模型并存储列 :object_id, :assigned_to, :activated_when 但是对象可以是不同的模

*我真的不确定这个问题属于什么概念——这会被认为是多态关联吗

我想创建一个系统,用户可以在其中设置触发器,以便在某个事件发生后,另一个事件发生

例如,我希望用户能够将触发器操作定义为:

此[电子邮件,文档]必须在所有用户[注册,阅读电子邮件A,签署文档B]后发送给他们

正如您在括号[]中看到的,条件可以绑定到各种对象和动作。 我的想法是创建一个TriggerCondition模型并存储列

:object_id, :assigned_to, :activated_when
但是对象可以是不同的模型

添加一个可以是电子邮件或文档的列:object_类型是最佳解决方案吗?或者有没有一种更复杂的设计方法,让我可以传入一个对象,它会自动知道我指的是什么

关于:激活时的条件,我完全不确定如何存储和检查条件。我能使用类似于Emailmarked_as_readA的语法吗

我正在尝试使用Rails观察员来触发该操作

Rails就是为了处理这种情况而构建的。

对,我一直在研究多态关联,但我不确定如何在这里应用它。TriggerCondition是否将电子邮件和文档都作为多态子项?我如何存储/检查:activated\u when conditions?您的TriggerCondition模型将属于triggerable。你的电子邮件和文档都会有很多触发条件,就像触发一样。通过这种方式,Rails现在知道TriggerCondition与哪个模型类型相关联。感谢您的指针!在触发条件下,您将如何处理:激活的_?