J'ai un utilisateur qui possède de nombreux téléphones
J'ai aa téléphone qui a beaucoup de résumés d'appels
donc mon utilisateur a beaucoup de résumés d'appelsrubis sur des rails de méthode non définie pour le tableau
maintenant au code que j'ai: Je voudrais générer un rapport qui montre tous les résumés d'appels pour les téléphones qui appartiennent à cet utilisateur. Je vais dans le contrôleur, et voici mon code là:
def index
@phones = Phone.find(:all, :conditions => ["user_id = ?", @current_user.id])
@call_summaries = @phones.call_summaries.find(:all)
end
Mais ce EXPEDITEUR cette erreur:
undefined method `call_summaries' for #Array:0x476d2d0
Toute aide serait très apprécié.
Ah cela a fonctionné, merci. Juste une chose de plus, j'ai mis en place une clé étrangère dans call_summaries parce que les noms de colonnes sont différents. Et je ne cherche pas la colonne phones.id non plus. Je suis à la recherche d'une clé hexadécimale générée. Ceci est le SQL qui est générée à partir de la commande correcte avec une clé étrangère. SELECT * FROM call_summaries call_summaries INNER JOIN téléphones sur call_summaries.reported_by = phones.id OÙ phones.user_id = 1 Il devrait être phones.hex_key au lieu de phones.id. Comment puis-je changer cela, j'ai essayé les clés étrangères mais à moins que je fasse quelque chose de stupide, ça n'a pas marché. Merci encore! – Ryan
Il semble que vous deviez utiliser les options: foreign_key et: primary_key aux deux extrémités de l'association. Dans CallSummary, par exemple, essayez 'belongs_to: phone,: foreign_key =>: reported_by,: primary_key =>: hex_key' (et faites la même chose pour l'association has_many dans Phone). –