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