プレーンJavaでは、次を使用します:
public User(String name, String email) {
this.name = name;
this.email = f(email);
this.admin = false;
}
ただし、ActiveRecords を使用して Rails (3.2.3) で行う簡単な標準的な方法を見つけることができませんでした。
1.オーバーライド初期化
def initialize(attributes = {}, options = {})
@name = attributes[:name]
@email = f(attributes[:email])
@admin = false
end
ただし、DB からレコードを作成するときに見逃される可能性があります
2.after_initialize
コールバックの使用
それをオーバーライドすることによって:
def after_initialize(attributes = {}, options = {})
...
end
またはマクロで:
after_initialize : my_own_little_init
def my_own_little_init(attributes = {}, options = {})
...
end
ただし、非推奨の問題がいくつかある可能性があります。
SOには他にもいくつかのリンクがありますが、それらは古くなっている可能性があります。
では、使用する正しい/標準的な方法は何ですか?