Bonjour,

Le 23.02.2009 09:45, Sylvain Desbureaux a écrit :
> Une fois récupéré les attributs de mon connection_edge, je le sauve :
> @connection =
> Connection.find_by_id_and_topo_file_id(connection.attributes["ConnectionID"].to_i,@topo_file.id)
> new_conn_edge = ConnectionEdge.new
> new_conn_edge.connection = @connection
> [.. récupératon des autres attributs via XML]
> #Sauvegarde
> if new_conn_edge.save
>                    logger.info(format_date_log(Time.now) +"
> L'extremité de la connexion " + new_conn_edge.connection.description + "
> [" + new_conn_edge.connection.id.to_s + "]"  + " sur l'équipement + " +
> new_conn_edge.device.name + " [" + new_conn_edge.device.id.to_s + "]" +
> "a été créé")
>
> j'ai bien vérifié que les valeurs mises dans l'objet étaient bonnes mais
> lorsque rails tente de sauvegarder l'objet,
> le code me renvoie  l'erreur suivante :
>
>   NoMethodError in  topo filesController#create
>
> undefined method `prefetch_primary_key?' for
> #<Connection:0x7f8c09ca5778>
>    
Voici une piste. Je prend une application Rails quelconque :

9:57 [farzy:pts/3] pragmatic% ./script/console
Loading development environment (Rails 2.2.2)
tracks-1.7> u = User.find(1)
tracks-1.7> u.connection
=> #<ActiveRecord::ConnectionAdapters::MysqlAdapter:0xb6edfbb4 
@query_cache_enabled=false, @connection_options=["localhost", "tracks", 
"tracks43Z", "tracks_development", nil, "/var/run/mysqld/mysqld.sock"], 
@last_verification=0, 
@quoted_table_names={"recurring_todos"=>"`recurring_todos`", 
"todos"=>"`todos`", "users"=>"`users`", "taggings"=>"`taggings`"}, 
..........", :socket=>"/var/run/mysqld/mysqld.sock"}>


"connection" est un attribut/méthode de chaque objet ActiveRecord, il te 
faut à mon avis changer le nom dans ton code.

  Cordialement,

-- 
Farzad FARID / Architecte Open Source - Associé
Pragmatic Source / http://www.pragmatic-source.com
Tel : +33 9 53 19 21 90 / Mob : +33 6 03 70 65 46


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