Oui, j'étais en train de me demander comment modifier XML_FORMATTING
sans pour autant modifier conversions.rb.

Je vais donc essayer ta méthode ; juste une question pour le débutant
RoR que je suis :

La ligne "result = yield if block_given ?", c'est du code ou du pseudo-
code ? Dans ce dernier cas, est-ce que j'y mets mon code contenu dans
la fonction suivante (qui appelle to_xml ) ?


  def list_timespan_xml
    @rv_wrk_medical_consultations = RvWrkMedicalConsultation.find(
                                      :all, :conditions =>
[ "start_date >= ? and end_date <= ?",
 
params[:start_date], params[:end_date]])
    render :xml => @rv_wrk_medical_consultations.to_xml
  end

Merci pour ton aide,

Christophe.

On 30 août, 12:30, "Jean-François Trân" <[EMAIL PROTECTED]> wrote:
> Christophe a écrit :
>
>
>
> > Il existe plusieurs formats Date prédéfinis, que l'on peut compléter
> > si nécessaire :
>
> > ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS
> > => {:db=>"%Y-%m-%d %H:%M:%S", :rfc822=>"%a, %d %b %Y %H:%M:%S
> > %z", :short=>"%d %b %H:%M", :long=>"%B %d, %Y %H:%M"}
>
> > Exemple d'usage :
>
> > >> now = Time.now
> > now = Time.now
> > => Thu Aug 30 11:47:07 +0200 2007
> > >> now.to_s(:db)
> > now.to_s(:db)
> > => "2007-08-30 11:47:07"
>
> > Comment puis-je dire à la fonction to_xml (quitte à en modifier le
> > code) qu'elle génère les Dates dans le format souhaité ?
>
> En modifiant temporairement le hash Hash::XML_FORMATTING :
>
> def my_xml_serialization
>   old_proc = Hash::XML_FORMATTING['datetime']
>   Hash::XML_FORMATTING['datetime'] = Proc.new { |datetime|
> datetime.to_s(:rfc822) }
>
>   result = yield if block_given ?
>
>   Hash::XML_FORMATTING['datetime'] = old_proc
>   result
> end
>
> Garanti 100% non testé.
>
>    -- Jean-François.
>
> --
> Ruby (http://www.rubyfrance.org) on Rails (http://www.railsfrance.org)


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