Witam!
Przed walidacją w modelu wykorzystuje funkcję która potrzebuje jeden argument, zastanawiam się czy da się to jakoś uprościć aby się nie powtarzać
A w przyszlości pomyśleć o tym żeby wszelkie callbacki przeniesc do klasy która odpowiada za zapis twojego obiektu ( model tą klasą być nie powinien , przynajmniej w bardziej złożonych apkach) i tam je odpowiednio parsować.
Ale na czas małej aplikacji na początku przygody z railsami +1 dla rozwiązania kolegi wyżej ;]
Dzięki!
Wcześniej wykorzystywałem metode do normalizacji każdej z osobna potem stworzyłem klase w której umieściłem normalize_number, no i nie wpadłem na to że można wykorzystać metodę jeszcze raz…
Moglbys tez hardcorowo ‘normalizowac’ w setterach - i wtedy odpada wołanie normalizacji w callbackach:
class Bank < ActiveRecord::Base
attr_reader :number
def number=(number)
write_attribute(:number, normalize_number(number))
#@number = normalize_number(number)
end
private
def normalize_number(number)
number.to_s.gsub('-', ' ')
end
end