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.

Merci de ton aide,
Nicolas

Le 7 janv. 2010 à 12:02, Cyril Mougel a écrit :

> Le 07/01/10 11:49, Liste diff a écrit :
>> En fait je n'ai pas de modèle SensorLog. 
>> J'aimerai pouvoir, directement à partir de mon modèle Sensor déterminer sur 
>> quelle modèle (TemperatureLog, HumidityLog, etc.) me connecter pour extraire 
>> les logs correspondant au type de sonde. Il me semble que ça doit pas être 
>> sorcier, mais je m'en sort pas. Je dois sans doute réviser les bases 
>> d'ActiveRecord ;-)
>> 
> 
> HumidityLog et TemperatureLog sont dans la même table ou pas ?
> 
> -- 
> 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]

-- 
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]

Répondre à