Ho un form con campi per l'inserimento di date e valori rappresentanti euro. L'inserimento delle date lo faccio in un campo di tipo string e utilizzo jquery-ui, mi visualizza il calendario attraverso il quale l'utente seleziona la data. Al momento della selezione nel campo viene inserito ad esempio, 24/04/2012. Nel db viene memorizzato 2012-04-24 ed e' questa stessa rappresentazione che vedo nel capo string quando richiamo il form, ad esempio per una modifica. Vorrei che l'utente non si ritrovasse 2012-04-24 ma 24/04/2012 o 24-04-2012, insomma la data in formato italiano. Anche per i valori rappresentanti euro l'utente e' costretto ad inserire i dati separando i centesimi con il punto anziche' con la virgola, e' corretto perche' tali valori sono indicati come decimal ma per l'utente e' piu' normale separare i decimali utilizzando la virgola. L'unico modo sarebbe quello di intercettare i valori e convertirli in qualche modo?
on 2012-04-25 13:20

on 2012-04-25 20:51

Il 25/04/12 13:19, Mauro ha scritto: > Anche per i valori rappresentanti euro l'utente e' costretto ad > inserire i dati separando i centesimi con il punto anziche' con la > virgola, e' corretto perche' tali valori sono indicati come decimal ma > per l'utente e' piu' normale separare i decimali utilizzando la > virgola. > L'unico modo sarebbe quello di intercettare i valori e convertirli in > qualche modo? Stai parlando di Rails? Per le date puoi usare la <%=l MyModel.date %>, dai un'occhiata qui: http://guides.rubyonrails.org/i18n.html#adding-dat... In generale I18n quello che ti serve Per la moneta esiste il metodo number_to_currency http://api.rubyonrails.org/classes/ActionView/Help...
on 2012-04-26 00:18

2012/4/25 Tommaso Visconti <tommaso.visconti@gmail.com>: >> rappresentazione che vedo nel capo string quando richiamo il form, ad > > > Stai parlando di Rails? > Per le date puoi usare la <%=l MyModel.date %>, dai un'occhiata qui: > http://guides.rubyonrails.org/i18n.html#adding-dat... > In generale I18n quello che ti serve > > Per la moneta esiste il metodo number_to_currency > http://api.rubyonrails.org/classes/ActionView/Help... Si lo so, ma supponi di avere un campo in un form dove l'utente deve inserire un valore corrispondente alla valuta 1.000.022,12 euro. L'utente e' costretto ad inserire 1000022.12, mentre si aspetta di poter inserire 1000022,12. Poi certo, il valore lo formatto con l'helper number_to_currency in fase di visualizzazione.
on 2012-04-26 09:18

> poter inserire 1000022,12. > Poi certo, il valore lo formatto con l'helper number_to_currency in > fase di visualizzazione. Non so se esiste un metodo rapido per farlo, io avevo un'applicazione in cui dovevo tenere dei prezzi su DB in formato intero (in centesimi) ma mostrarli all'utente come euro e con la virgola. class Item < ActiveRecord::Base PRICE_REGEXP = /^\d+(\.\d{1,2})?$/ def price=(value) raw = value.to_s.gsub(',','.').strip to_write = raw if raw =~ PRICE_REGEXP to_write = (raw.to_f * 100).to_i end write_attribute(:price, to_write) end def price p = read_attribute(:price) sprintf("%.2f", p/100.0).gsub('.', ',') unless p.nil? end end Se usi una colonna decimal non ti serve di moltiplicare e dividere per 100. Ricordati di mettere comunque un validatore sul campo. Alessio -- Alessio "nolith" Caiazza il sapere umano appartiene al mondo. GPG 440C5437
on 2012-04-26 09:55

2012/4/26 Alessio Caiazza <nolith@abisso.org>: >> poter inserire 1000022,12. > to_write = raw > end > > > Se usi una colonna decimal non ti serve di moltiplicare e dividere per 100. Ricordati di mettere comunque un validatore sul campo. Si vedo che fai una gsub, cosi' avevo pensato io, la mia richiesta era volta a capire se ci fosse qualche soluzione piu' immediata sia per il problema della valuta sia per quello delle date se uso campi string e non l'helper date_select.
on 2012-04-26 09:58

On Thu, Apr 26, 2012 at 9:17 AM, Alessio Caiazza <nolith@abisso.org> wrote: > > poter inserire 1000022,12. > 100. Ricordati di mettere comunque un validatore sul campo. > > > Scusate, segnalo anche questa gemma che pu forse tornare utile http://money.rubyforge.org/ -- Riccardo -- L'esperienza quello che ottieni quando, non ottieni quello che desideri.