Witam.
Mam taki problem:
Chciałbym w formularzu tworzenia nowego obiektu stworzyć DropDown listę z ilością miesięcy np:
1 miesiąc
2 miesiące
3 miesiące
6 miesięcy
Jeśli ktoś wybierze np. 2 miesiące to przeliczy to na dni, czyli 2 * 30 dni(zakładam, że każdy miesiąc to 30 dni).
Następnie od dnia dzisiejszego doda tą ilość dni i zapisze w poli end_on.
Schemat tabeli:
Table name: bought_details
# # id :integer not null, primary key # bought_data :date not null # start_on :date # end_on :date not null # entry_type_id :integer # person_id :integer
To co już zrobiłem:
- Stworzyłem metodę w modelu ustawiającą dzisiejszą datę:
def set_bought_data
self.bought_data = Date.today end
- Dodałem before_save :set_bought_data
- W formularzu new dodałem taką linijkę:
= f.select :days, [[‘1 miesiąc’, 30], [‘2 miesiąc’, 60], [‘3 miesiąc’, 90]]
- W modelu dodałem metodę razem z before save:
def set_end_on
self.end_on = Date.today + days
end
- W modelu mam dodany attr_accessor :days
Formularz z select się nie wyświetla(pozostałe pola tak). Co robię żle, jak to naprawić?