Jak zainicjować ActiveRecord z wartościami w Railsach?
W zwykłym języku java używałbym:
public User(String name, String email) {
this.name = name;
this.email = f(email);
this.admin = false;
}
Jednak nie mogłem znaleźć prostego standardowego sposobu na rails (3.2.3), z ActiveRecords.
1. zainicjuj nadpisaniedef initialize(attributes = {}, options = {})
@name = attributes[:name]
@email = f(attributes[:email])
@admin = false
end
ale może zostać pominięty podczas tworzeniarekord z DB
2. za pomocąafter_initialize
oddzwonićnadpisując to:
def after_initialize(attributes = {}, options = {})
...
end
lub za pomocą makra:
after_initialize : my_own_little_init
def my_own_little_init(attributes = {}, options = {})
...
end
ale może byćniektóre problemy z deprecjacją.
Tam jest trochęinny spinki do mankietóww takim, ale mogą być nieaktualne.
Więc,jaka jest właściwa / standardowa metoda do użycia?