Hi railers,
je suis surpris qu'on propose STI plutôt que MongoDB mais tant mieux, ça me hérisse moins :)
Cela dit, je pense d'expérience que :
- si les indicateurs sont essentiellement les mêmes, il y a juste un
statut "indicator letter/class/category" à mettre et tout garder en une
table
- s'ils sont très différents, ils gagneraient à avoir des tables différentes mais nommées pour que ce soit évident (indicator A = pays, B = age, C = profession...)
Enfin, si tu es débutant ziburudebian (y'a pas de mal à ça, bravo et bon courage), mais regarde les has_many : through et autres tables de jointure.
http://guides.rubyonrails.org/association_basics.html#the-has-many-through-associationÇa te permettrait d'avoir une table Indicator, mais sur ton objet d'avoir 6 champs nommés "[abcdef]_indicator",
ou d'avoir un seul champ nommé "indicators_letters" qui est une liste associant ton objet à un indicateur, et contenant un champ "letter" donnant la lettre.
++ <3