Ma fonction permet de parser les heures (datetime). 2008/11/19 Emmanuel Bouton <[EMAIL PROTECTED]>: > Excellent ... Merci ! > > En fait, je n'ai pas vraiment procédé comme tu me l'as décris mais tu m'as > mis sur la voie (j'espère que c'est la bonne ...). > > Pour la fonction to_utc, j'ai mis plutôt celle-ci : > > # config/initializers/string.rb > class String > def to_utc(format) > Date.strptime(self, > ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS[format]).to_s(:utc) > rescue > self > end > end > > # config/initializers/date_formats.rb > ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS.merge!( > :european => '%d/%m/%Y' > ) > > Ta fonction to_utc est-elle plus performante (et/ou plus propre) ? > > Ensuite j'ai ajouté à mon model un attribut "alternatif" pour ma date : > > # my_model.rb > class MyModel < ActiveRecord::Base > def ends_at_formatted > self.ends_at.strftime > ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS[:european] > unless self.ends_at.blank? > end > > def ends_at_formatted=(value) > self.ends_at = value.to_utc(:european) > end > end > > Du coup j'utilise cet attribut au lieu de la vrai date dans ma vue et ça > marche nickel. > > Merci encore > a+ > > Emmanuel > > > Le 18 novembre 2008 22:53, Gaspard Bucher <[EMAIL PROTECTED]> a écrit : >> >> Dans ton contrôleur qui reçoit les données, tu transformes les dates >> avant de les envoyer dans le modèle avec une méthode genre "to_utc" >> comme >> http://github.com/zena/zena/tree/59dac1392647c1a509b7faabd8d55734db9c27d6/lib/core_ext/string.rb#L14 >> >> par exemple: >> >> params[:page][:date] = params[:page][:date].to_utc("%d/%m/%Y") >> Page.create(params[:page]) >> >> gaspard >> 2008/11/18 Emmanuel Bouton <[EMAIL PROTECTED]>: >> > Merci pour la réponse. >> > En fait je me rend compte que j'ai mal expliqué mon problème, désolé. >> > Ce que je voudrais, c'est que dans un form_for, mes champs de type date >> > soient saisies au format jj/mm/aaaa (via un datepicker javascript), et >> > que >> > rails les interprète correctement. J'ai l'impression qu'il doit falloir >> > surcharger la fonction _parse de ruby (format.rb) car elle est appelée >> > par >> > le to_date de ActiveSupport (et to_datetime également) ... mais bon ça >> > me >> > parait un peu trash, et je me dis que rails avait peut être déjà prévu >> > le >> > coup ??? >> > >> > Merci >> > a+ >> > >> > Manu >> > >> > Le 18 novembre 2008 07:58, Gaspard Bucher <[EMAIL PROTECTED]> a écrit : >> >> >> >> > Salut à tous, >> >> > >> >> > Je n'arrive pas à trouver un moyen pour que rails parse des dates au >> >> > format >> >> > européen. >> >> > En fait je voudrais que "22/12/2008".to_date me renvoie bien le 22 >> >> > décembre >> >> > 2008. >> >> > >> >> > Une idée ? >> >> > Merci >> >> > >> >> Voici la solution utilisée par zena: >> >> >> >> >> >> http://github.com/zena/zena/tree/59dac1392647c1a509b7faabd8d55734db9c27d6/lib/core_ext/string.rb#L14 >> >> >> >> "22/12/2008".to_utc("%d/%m/%Y") >> >> >> >> Gaspard >> >> >> > >> > >> > > >> > >> >> > > > > >
--~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED] -~----------~----~----~----~------~----~------~--~---
