Ruby on rails 依赖于多态关系的删除

Ruby on rails 依赖于多态关系的删除,ruby-on-rails,Ruby On Rails,我对多个表使用多态关系。对象窗口有ChartWindow、PluginWindow或PortletWindow。我使用class_eval(relate_to_details)技术来定义细节表,这样每个对象都可以拥有自己的具有不同属性的表 PluginWindowDetail是PluginWindow的详细信息表。PluginWindow有一个plugin\u id(plugin\u window\u details.plugin\u id),因此,我在PluginWindow中定义了一个has

我对多个表使用多态关系。对象窗口有ChartWindow、PluginWindow或PortletWindow。我使用class_eval(relate_to_details)技术来定义细节表,这样每个对象都可以拥有自己的具有不同属性的表

PluginWindowDetail是PluginWindow的详细信息表。PluginWindow有一个plugin\u id(plugin\u window\u details.plugin\u id),因此,我在PluginWindow中定义了一个has\u one关联(has\u one:plugin\u window\u details,:dependent=>:delete),因为我希望在删除插件时删除该窗口

然而,我意识到这并没有得到我想要的。删除PluginWindowDetail不会删除PluginWindow。。由于我使用的是class_eval技术,而不是常规的ActiveRecord关联,我不知道如果不自己编写代码(也许我应该这样做),我怎么能做到这一点


无论如何。。有代码的GIST在这里。任何帮助都将不胜感激

我认为更简单的方法是使用before_destroy回调。它将更加灵活