Bonsoir,
Voila je débute sur rails et j'ai un petit soucis de récupération/lecture de données récupérer via cette requête
cela m'execute 2 requete
Code : Sélectionner tout - Visualiser dans une fenêtre à part character = Character.includes(:avatars).where(:user_id => session)
j'ai aussi essayer de cette façon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Character Load (0.5ms) SELECT `characters`.* FROM `characters` WHERE `characters`.`user_id` = 10 Avatar Load (0.4ms) SELECT `avatars`.* FROM `avatars` WHERE `avatars`.`character_id` IN (19)
ce qui me m'exécute ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Character.includes(:avatars).joins(:avatars).where(:user_id => session)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT `characters`.`id` AS t0_r0, `characters`.`user_id` AS t0_r1, `characters`.`pv` AS t0_r2, `characters`.`strength` AS t0_r3, `characters`.`exp` AS t0_r4, `characters`.`name` AS t0_r5, `characters`.`created_at` AS t0_r6, `characters`.`updated_at` AS t0_r7, `avatars`.`id` AS t1_r0, `avatars`.`character_id` AS t1_r1, `avatars`.`path` AS t1_r2, `avatars`.`created_at` AS t1_r3, `avatars`.`updated_at` AS t1_r4 FROM `characters` INNER JOIN `avatars` ON `avatars`.`character_id` = `characters`.`id` WHERE `characters`.`user_id` = 10
Le problème c'est que dans ma vue quand j'exécute un each de cette façon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <% @character.each do |char|%> <%= char.name %> <%= char.id %> <%= char.avatar.path %> <%end%>
Je ne peux pas accéder au dernier. char.avatar est nil alors que les donnée sont sensée être bien récupérer. Si j'exécute les commande en les copiant collant dans phpmyadmin je récupère ce que je veux. Ma question est donc : Comment faire pour lire les donnée appartenant a la table avatar. Merci d'avance
Partager