Le 06/01/10 08:23, Liste diff a écrit :
> Bonjour,
>
> J'ai besoin de votre aide pour un problème de conception.
>
> Je veux faire une interface pour visualiser des logs de différentes sondes
> (relevé de température, d'humidité, sonde d'interruption). Les données sont
> transmises directement par les sondes dans plusieurs table MySQL (une table
> pour chaque type de logs). Comme les sondes elles-même ont toutes les même
> spécifications, j'ai créé une seule table pour les représenter.
>
> J'ai donc un modèle Sensor qui possède plusieurs logs dans différents modèles
> (TemperatureLog, HumidityLog, etc.).
>
> Ma question est comment puis-je, dans le modèle Sensor, indiquer dans quel
> modèle de Log (donc dans quelle table) aller chercher mes données. J'ai
> regardé du côté des associations polymorphiques, mais je ne suis pas sûr que
> ça puisse fonctionner dans ce sens.
>
> Bref, vos avis ou votre aide et la bienvenue.
>
> Merci d'avance,
> Nicolas
>
Une des techniques simple est :
class TemperatureLog < SensorLog
end
class HumidityLog < SensorLog
end
class Sensor
has_many :temperatures,
:conditions => 'type = TemperatureLog',
:class_name => "TemperatureLog",
:foreign_key => "sensor_id"
has_many :humidities,
:conditions => 'type = HumidityLog',
:class_name => "HumidityLog",
:foreign_key => "sensor_id"
end
--
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]