Esiste un modo semplice per formattare la visualizzazione di un valore DateTime
in una vista Rails?Formato DateTime nella casella di testo in Rails
Per esempio, se sto facendo qualcosa di simile:
<%= text_field :my_object, :start_date %>
e vogliono solo per visualizzare la parte Data del :start_date
(cioè voglio nascondere la parte di tempo), c'è un modo per formato la stringa :start_date
all'interno della vista in modo che funzioni per la creazione di nuovi articoli my_object
e l'aggiornamento di nuovi articoli my_object
?
Solo una precisazione:
Facendo
<%= text_field
:my_object,
:start_date,
:value => @my_object.start_date.strftime('%m/%d/%Y') %>
lavora splendidamente quando l'oggetto esiste già (vale a dire sulla aggiornamenti voce), tuttavia, quando si crea un nuovo oggetto , dal momento che start_date sarà inizialmente essere nil, la vista genererà un errore
while evaluating nil.strftime
Ti manca un paren di chiusura alla fine, ma altrimenti è quello che ho fatto all'inizio. Alla fine ho deciso di inizializzare la 'start_date' alla data corrente nell'oggetto, in modo che' start_date' non sarebbe mai 'nil' in primo luogo. – jerhinesmith
Even cleaner: value: (@ object.start_date.strftime ('% m /% d /% Y') a meno che @ object.start_date.blank?) –
@ OleHenrikSkogstrøm nil non è uguale a una stringa vuota (che i datepicker Ho usato richiesto). Sicuramente usa un simile a meno che non funzioni se per te. –