複数のテーブルでポリモーフィック リレーションを使用しています。オブジェクト ウィンドウには、ChartWindow、PluginWindow、または PortletWindow があります。class_eval (relate_to_details) 手法を使用して詳細テーブルを定義し、各オブジェクトが個別の属性を持つ独自のテーブルを持つことができるようにしました。
PluginWindowDetail は、PluginWindow の詳細テーブルです。PluginWindow には plugin_id (plugin_window_details.plugin_id) があるので、Plugin を削除して Window も削除したいので、PluginWindow に has_one 関連 ( has_one :plugin_window_detail, :dependent => :delete) を定義しました。
しかし、私はこれが私が望むものを私に与えていないことに気付きました. PluginWindowDetail を削除しても、PluginWindow は削除されません。また、通常の ActiveRecord 関連付けの代わりに class_eval 手法を使用しているため、自分でコーディングせずにこれを行う方法がわかりません (そうすべきかもしれません)。
とにかく..コードの要旨はこちらhttps://gist.github.com/3206666。どんな助けでも大歓迎です。