2

私の Rails モデルには、employer_wcb という 10 進数のプロパティがあります。employee_wcb が変更されたときに、ダーティ ビットが true に設定されていればよいのにと思います。employee_wcb セッター メソッドをオーバーライドしたいと思います。そうする方法はありますか(特にメタプログラミングを使用して)?

4

2 に答える 2

2

Rail の組み込みのダーティ ビット機能を使用したくない場合 (たとえば、他の理由でオーバーライドしたい場合)、エイリアス メソッドを使用することはできません (上記の Steve のエントリに関する私のコメントを参照してください)。ただし、スーパーへの呼び出しを使用して機能させることができます。

  def employer_wcb=(val)
    # Set the dirty bit to true
    dirty = true
    super val
  end

これはうまくいきます。

于 2009-12-15T19:29:31.147 に答える