Re,

j'ai encore poussé mes tests et cela va encore plus loin ... j'ai
positionné un date_select pour ma saisie afin de garantir le format et
voila le resultat avec une date antérieure à 1970 :


1 error(s) on assignment of multiparameter attributes

RAILS_ROOT: C:/INSTAN~1/rails_apps/opale/config/..
Application Trace | Framework Trace | Full Trace

C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/
active_record/base.rb:2094:in
`execute_callstack_for_multiparameter_attributes'
C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/
active_record/base.rb:2074:in `assign_multiparameter_attributes'
C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/
active_record/base.rb:1675:in `attributes='
C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/
active_record/base.rb:1591:in `update_attributes'
#{RAILS_ROOT}/app/controllers/admin/membre_controller.rb:115:in
`update'

Request

Parameters: {"membre"=>{"num_secu"=>"AZERTYUIOPQSD",
"ville"=>"MArseille", "nom"=>"Cante", "nom_jeune_fille"=>"sdsqdsq",
"nationalite"=>"sdsqdq", "nb_enfants_a_charge"=>"0",
"prenom"=>"sqdsqdsqdq", "mobile"=>"dsdqsd", "lieu"=>"sqdsqdq",
"code_postal"=>"13422", "date_naissance(1i)"=>"1960",
"fax"=>"sqdqsdqd", "adresse"=>"34 FDEFSDF", "date_naissance(2i)"=>"7",
"agephip"=>"true", "telephone"=>"fjdnfjd",
"situation_familiale"=>"Célibataire", "date_naissance(3i)"=>"27",
"email"=>"[EMAIL PROTECTED]"}, "commit"=>"Valider", "id"=>"1",
"goto"=>"show_membre"}

Est ce que quelqu'un a des formulaires avec dates sous windows qui
n'ont pas ce problème ? Je suis en train de remettre en cause bcp de
choses et je tourne autour du pot. Mysql peut gérer ces dates (saisie
manuelle dans phpmyadmin) mais Rails a des soucis que je ne comprends
pas.

Ma solution sale va être de mettre la date en varchar, mais bonjour la
rustine ! Si quelqu'un peut m'éclaircir les idées, çà m'éviterai de
refuser toute recette sur un portable windows la prochaine fois :)

Edouard

On 26 juil, 19:23, Edouard <[EMAIL PROTECTED]> wrote:
> Bonsoir,
>
> malheureusement j'aurai préféré. Voici les 2 requêtes que j'ai extrait
> de ma log depuis windows :
>
> OK:
> ------
> Parameters: {"membre"=>{"num_secu"=>"AZERTYUIOPQSD",
> "ville"=>"Toulon", "nom"=>"Cante", "nom_jeune_fille"=>"sdsqdsq",
> "nationalite"=>"sdsqdq", "nb_enfants_a_charge"=>"0",
> "prenom"=>"sqdsqdsqdq", "mobile"=>"dsdqsd", "lieu"=>"sqdsqdq",
> "code_postal"=>"13422", "fax"=>"sqdqsdqd", "adresse"=>"34  FDEFSDF",
> "agephip"=>"true", "telephone"=>"fjdnfjd",
> "situation_familiale"=>"CÃ(c)libataire", "date_naissance"=>"04/07/2007",
> "email"=>"[EMAIL PROTECTED]"}, "commit"=>"Valider", "action"=>"update",
> "id"=>"1", "controller"=>"admin/membre", "goto"=>"show_membre"}
>
> SQL généré:
> UPDATE membres SET `created_at` = '2007-07-05 01:40:01',
> `date_naissance` = '2007-07-04 00:00:00', `categorie` =
> 'PuÃ(c)ricultrice', `nom` = 'Cante', `nationalite` = 'sdsqdq', `fax` =
> 'sqdqsdqd', `code_postal` = '13422', `referent` = 1, `ville` =
> 'Toulon', `num_secu` = 'AZERTYUIOPQSD', `groupe` = 'DiplomÃ(c)',
> `prenom` = 'sqdsqdsqdq', `telephone` = 'fjdnfjd', `etablissement_id` =
> 1, `agephip` = 1, `adresse` = '34 FDEFSDF', `nb_enfants_a_charge` = 0,
> `email` = '[EMAIL PROTECTED]', `mobile` = 'dsdqsd', `lieu` = 'sqdsqdq',
> `situation_familiale` = 'CÃ(c)libataire', `updated_at` = '2007-07-26
> 19:12:09', `nom_jeune_fille` = 'sdsqdsq' WHERE `id` = 1
>
> KO:
> ------
> Parameters: {"membre"=>{"num_secu"=>"AZERTYUIOPQSD",
> "ville"=>"Toulon", "nom"=>"Cante", "nom_jeune_fille"=>"sdsqdsq",
> "nationalite"=>"sdsqdq", "nb_enfants_a_charge"=>"0",
> "prenom"=>"sqdsqdsqdq", "mobile"=>"dsdqsd", "lieu"=>"sqdsqdq",
> "code_postal"=>"13422", "fax"=>"sqdqsdqd", "adresse"=>"34  FDEFSDF",
> "agephip"=>"true", "telephone"=>"fjdnfjd",
> "situation_familiale"=>"CÃ(c)libataire", "date_naissance"=>"04/07/1960",
> "email"=>"[EMAIL PROTECTED]"}, "commit"=>"Valider", "action"=>"update",
> "id"=>"1", "controller"=>"admin/membre", "goto"=>"show_membre"}
>
> SQL généré:
> UPDATE membres SET `created_at` = '2007-07-05 01:40:01',
> `date_naissance` = NULL, `categorie` = 'PuÃ(c)ricultrice', `nom` =
> 'Cante', `nationalite` = 'sdsqdq', `fax` = 'sqdqsdqd', `code_postal` =
> '13422', `referent` = 1, `ville` = 'Toulon', `num_secu` =
> 'AZERTYUIOPQSD', `groupe` = 'DiplomÃ(c)', `prenom` = 'sqdsqdsqdq',
> `telephone` = 'fjdnfjd', `etablissement_id` = 1, `agephip` = 1,
> `adresse` = '34 FDEFSDF', `nb_enfants_a_charge` = 0, `email` =
> '[EMAIL PROTECTED]', `mobile` = 'dsdqsd', `lieu` = 'sqdsqdq',
> `situation_familiale` = 'CÃ(c)libataire', `updated_at` = '2007-07-26
> 19:12:49', `nom_jeune_fille` = 'sdsqdsq' WHERE `id` = 1
>
> Comme vous pouvez le voir, c'est bien la date fournie par rails qui
> est en cause puisque la requête contient nil ...
>
> Je ne sais plus quoi faire car cela me parait si simple d'un point de
> vue code que je n'arrive pas à voir où est la boulette. Je n'aime pas
> windows (c'est pour une recette client que je l'ai installé) et là il
> me le rend bien ...
>
> Edouard
>
> On 26 juil, 09:26, "Cyril Mougel" <[EMAIL PROTECTED]> wrote:
>
> > En regardant la documentation[1] de Mysql 5, j'ai pu constater que si
> > tu donnes ton ann?e en seulement 2 chiffres, ca prend uniquement entre
> > 1970 et 2069.
>
> > Je pense vraiment que ton probl?me vient de MySQL plus que de Rails.
>
> > Regarde au niveau des requ?tes g?n?r?s et reproduit les dans ta console 
> > MySQL.
>
> > Une fois que tu vois quel requ?te tu dois r?aliser, tu auras un d?but
> > de r?ponses.
>
> > Je cite la doc :
>
> > #
>
> > Dates containing two-digit year values are ambiguous because the
> > century is unknown. MySQL interprets two-digit year values using the
> > following rules:
>
> >     *
>
> >       Year values in the range 00-69 are converted to 2000-2069.
> >     *
>
> >       Year values in the range 70-99 are converted to 1970-1999.
>
> > [1] :http://dev.mysql.com/doc/refman/5.0/en/datetime.html
>
> > On 7/26/07, Edouard <[EMAIL PROTECTED]> wrote:
>
> > > Bonjour,
>
> > > le type mysql est du datetime.
>
> > > Le seul message d'erreur que j'ai pu avoir en console c'est un "value
> > > is out of range". Sinon, aucun message, il positionne la date ? nil
> > > sans g?n?rer d'erreur.
>
> > > Edouard
>
> > > On 26 juil, 08:20, Thibaut Barr?re <[EMAIL PROTECTED]> wrote:
> > > > Hello Edouard
>
> > > > quel type MySql utilises-tu pour la colonne ?
> > > > disposes-tu de logs ActiveRecord ? nous fournir ?
>
> > > > Thibaut
>
> > --
> > Cyril Mougel


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