Bonjour à tous,
J’utilise Rails/Mysql comme plateforme de développement et Rails/Oracle
en environnement de production.
après quelques mois de dév sous mysql, le moment est venu pour passer en
production … sous Oracle. cette migrations ne se passe pas sans
surprise car entre les problèmes que j’ai rencontré, reste reste un prob
ORM avec Oracle que je n’ai pu résoudre. Voici la description détaillé
du prob que j’ai avec Oracle: Extrait de la bd :
Table User :_____________
id_user |
first_name |
last_name |
login |
password |
id_profile |
_________________________|
Table Profile :__________
id_profile |
name |
_________________________|
et mes Models :
class Profile < ActiveRecord::Base
set_table_name “PROFILE”
set_primary_key “ID_PROFILE”
has_many :user
end
class User < ActiveRecord::Base
set_table_name “user”
set_primary_key “ID_USER”
belongs_to :profile,
:foreign_key => “ID_PROFILE”
end
avec la console rails, j’execute les commandes suivantes :
x = User.find(1)
=> #<User:0x454cf8b4 @attributes={“id_profile”=>1, “first_name”=>“Nom”,
“last_name”=>“Prenom”, “password”=>“test”, “login”=>“login”,
“id_user”=>1}>
Jusqu’ici c’est parfait. mais quand j’essaie d’acceder au profile de
l’utilisateur :
x.profile
=> nilx.profile.name
NoMethodError: You have a nil object when you didn’t expect it!
The error occured while evaluating nil.name
from (irb):12
Sachant que je n’ai pas eu ce problème avec Mysql, d’où peut venir ce
problème ? Merci pour votre aide.
