Właśnie czytałem numer this question, który dotyczy nadania polu daty modelu ActiveRecord wartości domyślnej. Przyjęta odpowiedź pokazuje, jak ustawić domyślną wartość z kontrolera. Moim zdaniem taka logika biznesowa naprawdę należy do samego modelu.Jaką rolę mają konstruktory modeli ActiveRecord w Railsach (jeśli istnieją)?
Potem zacząłem się zastanawiać, czy to jest Java, prawdopodobnie ustawiłbym początkową wartość pola podczas deklarowania zmiennej instancji lub w konstruktorze. Ponieważ pola oparte na bazie danych nie muszą być jawnie deklarowane w modelach ActiveRecord, czy jest to coś, do czego można użyć metody modelu initialize
? Jestem ciekawy, ponieważ nie widziałem zbyt wiele zastosowań konstruktorów dla modeli ActiveRecord w kodzie Railsa, na który patrzyłem. Czy mają do odegrania rolę, a jeśli tak, to co to jest?
Używam podobnej techniki do buforowania atrybutów wewnętrznych na podstawie pól, zamiast wykonywać te same obliczenia w kółko. – EmFi
Doskonale dziękuję. A dla tych, którzy szukają wyjaśnienia, dlaczego musicie to zdefiniować - http://stackoverflow.com/q/3826153/242426 – plainjimbo
Wygląda na to, że zmieniło się w Rails 4/ActiveRecord 4.2.0. Proszę zobaczyć [moja odpowiedź] (http://stackoverflow.com/a/29566511/210780) po więcej szczegółów. – ashes999