Bonjour,
Je suis en train d’apprendre et d’évaluer Rails depuis quelques semaines
pour voir si je peux
développer une application assez complexe. J’ai le bouquin de Eyrolles
comme livre de chevet et
je suis déjà en train de tomber amoureux de ce framework (Mes collègues
se foutent de moi )
Plus sérieusement, je voudrais faire un système qui permette de faire
des questionnaires qui changent
et évoluent tout le temps. Donc pas question de faire une table
“questions” avec chaque champs
qui correspond à une question.
Ce que j’essaye donc de faire c’est une table “surveys” qui contient la
liste des questionnaires,
une table “questions” qui contient les définitions des questions et une
table “responses” qui contient
les réponses en vrac avec un “user_id” pour savoir à qui appartient la
réponse et “question_id” pour
savoir à quelle question appartient cette réponse.
Jusque là tout va bien.
Mais là où Rails serait imbattable, c’est si je pouvais modifier
dynamiquement la classe “survey” en se
basant sur une sélection de “questions”. Par exemple si:
survey has_many :questions
survey has_many :responses
question belongs_to :survey
question has_many :responses
L’idéal serait alors modifier la classe “survey” avec les définitions
des questions pour pouvoir tirer toute la
puissance de ActiveRecord. Exemple, pour chaque question, la classe a
des “validates” spécifiques, un version
modifié dynamiquement du “_form.rhtml”, etc …
Ma question : existe-t-il une bonne façon d’aborder ce problème en
Rails, une convention, un tutorial ?
La question peut s’étendre à tous les cas d’objets à géométrie variable.
Suis-je clair ? Je sais pas mais poser la question m’éclaircit déjà un
peu plus.
Merci de votre avis
Christophe