Essaye avec un include :
Au singulier car tu as un seul cart (has_one :cart), hésite pas à faire un retour si c'est ça.
Si c'est bien ça et que tu souhaite aller plus loin, tu as cette ressource : Rails4 Preloading
Bonjour, j'ai un petit soucis concernant les relations entres les tables dans rails.
J'ai deux modèles : User(créé avec devise) & Cart dont voici le code
D'après mes connaissances si je récupère un User ou un Cart je dois pouvoir accèder à l'autre de cette manière
ou
Mais aucune ne marche...
Voici la migration qui créé la référence :
Merci d'avance pour votre aide..
Essaye avec un include :
Au singulier car tu as un seul cart (has_one :cart), hésite pas à faire un retour si c'est ça.
Si c'est bien ça et que tu souhaite aller plus loin, tu as cette ressource : Rails4 Preloading
Ca ne marche toujours pas.. :( Mais j'ai remarqué quelque chose en console.
Lorsque j'effectue les appels voici le message d'erreur
Or ma colonne créé dans cart se nomme users_id et non user_id comme rails le souhiaterais. Mais cette ligne à été créer dans les règles de l'art via les migrations rails (voir plus haut) donc je ne vois pas ou est le soucis. Je n'étais pas sure du "s" à :users dans la migration mais même en l'enlevant ca ne marche pas.
EDIT
Voila ca marche, en réalité mon changement dans la migration étais bien la solution (mettre users au singulier) mais pour une raison que j'ignore ni "rake db:migrate" ni "rake db:reset" n'a changer le nom de la colonne. J'ai du effacer le contenu de schema.rb et supprimer mes fichiers .sqlite3 pour relancer un "rake db:setup".
C'est vrai que ta migration aurait du être :
Je pense que comme tu as donné le nom de la migration au pluriel, il la généré au pluriel.