Wierzę, że datetime_select
to czarna magia. Naprawdę staram się rozgryźć całe mnóstwo różnych parametrów. W szczególności, jak jest obsługiwany w back-end (activerecord, coś innego?). Co oznacza "i" po numerze zamówienia? Czy to jest specyfikator typu? Jeśli tak, to jakie inne rodzaje są dostępne? Znam źródło date_helper.rb i jest dość nieprzejrzysty.Jak wyróżnić atrybuty wielu atrybutów ruby na szynach * naprawdę * praca (datetime_select)
Oto moja motywacja:
Mam kolumnę :datetime
w moim modelu i chcę, aby wprowadzić w widoku poprzez dwa text_field
s: jeden dla daty i jeden dla czasu. Należy je zweryfikować, scalić ze sobą, a następnie zapisać w kolumnie datetime. Docelowo będę używać kalendarza javascript do wprowadzania dat w polu daty.
Czy ktoś to zrobił? Próbowałem używać atrybutów wirtualnych (niewiarygodnie nieudokumentowanych poza prymitywnym railscastem), a problem polegał na tym, że gdy tworzony jest nowy obiekt activerecord i ma on atrybuty zerowe, atrybut wirtualny ulega uszkodzeniu (niezdefiniowana metoda strftime
dla klasy zerowej, co ma sens).
Ktoś ma jakieś sugestie lub najlepsze praktyki? Dzięki!
w activerecord/base.rb [assign_multiparameter_attributes] tworzy instancje dla wszystkich klas atrybutów, które wymagają więcej niż jednego parametru konstruktora. Działa to przez wywołanie new na kolumnie lub obiekcie typu agregacji z tymi parametrami. tj: written_on (1) = "2004", written_on (2) = "6", written_on (3) = "24", utworzy napis pisemny (typ daty) z Date.new ("2004", "6", "24"). Możesz również określić znak typograficzny w nawiasach, aby parametry były typograficzne, zanim zostaną użyte w konstruktorze. Użyj i dla Fixnum, f dla Float, s dla String i a for Array. –
Witam Dean, jeśli znalazłeś własną odpowiedź, zwykle stosujesz "Odpowiedz na moje pytanie", aby ludzie mogli zobaczyć, jak pytanie zostało rozwiązane. – nfm