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 à