2009-07-21 13 views

答えて

1

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が使用する最適な継承モデルではありません。

+0

私が考えていたことです。 STIに類似の機能を提供する他の継承モデルは何ですか? –

関連する問題