Le 07/01/10 12:38, Liste diff a écrit : > Non, ce sont 2 tables séparées. Les logs sont directement générés par des > sondes physiques. Les sondes de températures envoient leurs mesures de > température à la table temperature_logs et les sondes d'humidité à > humidity_logs. Il y a également d'autres sondes qui envoient d'autres valeurs. > > L'application que je dois créer consiste à détecter les logs d'une sonde qui > vient d'être mise en service et de permettre à l'utilisateur de donner un nom > à cette sonde (dans la table sensors). Cette table est la même pour tous les > logs, car les caractéristiques de toutes les sondes sont identiques. > > Je veux ensuite pouvoir afficher les logs d'une sonde en faisant > logs = Sensor.find(1).logs > Dans la table sensors, je connais le type de sonde, je dois donc pouvoir > faire une requête sur la bonne table. Malheureusement je ne maîtrise pas > assez ActiveRecord et ruby pour savoir de quelle manière. >
Dans ton cas il faut se palucher les requêtes à la main alors. def logs humiditylogs + temperaturelogs end Bien sûr tu récupéreras tout d'un coup. Il faut donc gérer au cas pas cas de tes besoins. Le schéma que tu as n'es pas adapté à ta logique. En effet, tu as les même donnée dans des tables différentes. C'est donc de la dé-normalisation. Je suis pour la dé-normalisation en terme de performance, mais forcement, cela implique plus de code à écrire car la dé-normalisation est comme elle l'indique, contraire au règle. Le contraire au règle implique forcement une logique qui t'es personnel ou tout du moins à ton cas précis. -- Cyril Mougel http://blog.shingara.fr/
-- 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]
