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]
-~----------~----~----~----~------~----~------~--~---

Répondre à