0
単一表の継承を使用する場合、異なるモデルに固有の列を移入しないように注意する必要がありますか?各モデルで使用する列を指定する方法はありますか?単一表継承(STI)列の関連付け
単一表の継承を使用する場合、異なるモデルに固有の列を移入しないように注意する必要がありますか?各モデルで使用する列を指定する方法はありますか?単一表継承(STI)列の関連付け
Railsに関する限り、どの列もすべてのサブクラスで設定できます。サブクラスモデルにロジックを追加して、特定のフィールドが設定されないようにすることはできますが、自動化された方法はありません。おそらくそれはbefore_save
フィルタを実装することができます。
class MySubModel < MyModel
UNUSED_FIELDS = %w{ field_x field_y field_z }
def before_save
UNUSED_FIELDS.each {|f| self.send("#{f}=", nil)}
end
end
1つのサブクラスでのみ使用される列が多い場合は、おそらくSTIが使用する最適な継承モデルではありません。
私が考えていたことです。 STIに類似の機能を提供する他の継承モデルは何ですか? –