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