Как инициализировать ActiveRecord со значениями в Rails?

На обычной Java я использую:

<code>public User(String name, String email) {
  this.name = name;
  this.email = f(email);
  this.admin = false;
}
</code>

Однако я не смог найти простой стандартный способ сделать это в rails (3.2.3) с ActiveRecords.

1. override initialize
<code>def initialize(attributes = {}, options = {})
  @name  = attributes[:name]
  @email = f(attributes[:email])
  @admin = false
end
</code>

но это может быть упущено при созданиизапись из БД

2. using the after_initialize callback

переопределив это:

<code>def after_initialize(attributes = {}, options = {})
  ...
end
</code>

или с макросом:

<code>after_initialize : my_own_little_init
def my_own_little_init(attributes = {}, options = {})
  ...
end
</code>

но может бытьнекоторые проблемы с амортизацией.

Есть некоторыеДругой связив СО, но они могут быть устаревшими.

Так,what's the correct/standard method to use?

Ответы на вопрос(5)

Ваш ответ на вопрос