Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    28

    campo datetime - non salva i minuti

    Salve a tutti,
    ho un problema con un campo di tipo datetime, non mi salva i minuti
    (salva 0).

    Qs sono le righe interessate, nel controller in 'new' assegno:

    @my_date_time = Time.now

    nella vista ho:



    Data e Ora: <%= select_datetime @my_date_time,
    :use_month_numbers => true, refix=>'s1', rder => [:day, :month,
    :year] %> </p>

    e nel controller in 'create' ho qs righe:

    @data1 = DateTime.civil(params[:s1][:year].to_i,
    params[:s1][:month].to_i, params[:s1][:day].to_i,
    params[:s1][:hour].to_i, params[:s1][:min].to_i, 0)
    @permission.data = @data1
    ...
    @permission.save

    Qualcuno mi sa dire perché?
    Grazie
    usa il tuo talento, qualunque esso sia, i boschi sarebbero terribilmente silenziosi se cantassero solo gli uccelli migliori

  2. #2
    Sicuro che sia :min e non :minute? (vado a logica, non ho la docs sotto mano).

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    28
    Ciao Weppos, GRAZIE!
    ... ho riguardato e avevo scritto refix=>'start1' e non 's1', accidenti...

    Adesso però che visualizzo in output <%= permission.data.hour %> : <%= permission.data.min %> mi scrive 10:5 invece che 10:05, mah...
    usa il tuo talento, qualunque esso sia, i boschi sarebbero terribilmente silenziosi se cantassero solo gli uccelli migliori

  4. #4
    Utente di HTML.it L'avatar di toraz
    Registrato dal
    Nov 2001
    Messaggi
    263
    E' normale che faccia così. Devi usare il metodo to_formatted_s (o anche solo to_s) per formattare la data. Qui spiega il da farsi.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    28
    Ciao Toraz, grazie, ma non ho ancora capito come risolvere il mio problema...

    se converto i minuti in stringa mi stampa sempre 5 e non 05 (e non voglio stampare
    l'intera data, magari col mese in inglese...)
    usa il tuo talento, qualunque esso sia, i boschi sarebbero terribilmente silenziosi se cantassero solo gli uccelli migliori

  6. #6
    Utente di HTML.it L'avatar di toraz
    Registrato dal
    Nov 2001
    Messaggi
    263
    Prova a spiegare cos'è che non ti è chiaro, perché nella documentazione che ti ho linkato spiega tutto quello che c'è da sapere, forse un po' sintetico, ma tutto.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    28
    ...probabilmente non conosco a sufficienza l'uso delle stringhe in Ruby!

    Non ho capito quale metodo fa al caso mio, degli 8 indicati, per visualizzare i minuti di un datetime, forzando ad usare 2 cifre...
    usa il tuo talento, qualunque esso sia, i boschi sarebbero terribilmente silenziosi se cantassero solo gli uccelli migliori

  8. #8
    Utente di HTML.it L'avatar di toraz
    Registrato dal
    Nov 2001
    Messaggi
    263
    Devi usare il metodo to_s che è un alias per to_formatted_s.

    Al metodo devi passare un simbolo che identifichi il formato da utilizzare per la data. I formati predefiniti sono descritti in un'altra pagina della documentazione rispetto a quella che ti ho linkato prima, il metodo per definirne di nuovi è descritto li anche lui (nella sezione che parla di to_formatted_s).

    Se non hai familiarità con i simboli per la formattazione delle date, sono gli stessi che sono descritti qui dove parla di FORMAT.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    28
    GRAZIE MILLE!

    Ho risolto con:

    <%= permission.data.to_s(:time) %>

    per stampare ore:minuti!
    usa il tuo talento, qualunque esso sia, i boschi sarebbero terribilmente silenziosi se cantassero solo gli uccelli migliori

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.