Modelowanie - system a'la help desk

Hej,

Chcę stworzyć system a’la Help Desk, gdzie osoba go obsługująca będzie zadawała kolejne pytania i na podstawie odpowiedzi będzie miała wybór z kolejnych pytań. Ponieważ pracuję jako ISP to powiedzmy, że zaczyna ię to pytaniem o rodzaj połączenia i mamy kolejne odpowiedzi typu: kablowe, radiowe, FTTH itp. Każda z odpowiedzi zawiera kolejny, własny zestaw pytań i obsługujący klienta powoli dochodzi do rozwiązania, lub przynajmniej przekazując rozmowe wyżej ma już jakąś ścieżkę odpowiedzi.

Na początek pomyślałem o dwóch modelach:
Question (has_many :answers)
Answer (belongs_to: question)
Teraz jednak trzeba by podłączyć kolejne pytanie. Zatem nasuwa się rozwiązanie w postaci drzewa, gdzie liśćmi będą pytania a połączeniami odpowiedzi. No, ewentualnie liść to równocześnie odpowiedź i kolejne pytanie.

No i tak sobie myślę, jak Wy byście to rozwiązali? Być może ktoś robił coś podobnego i zechce podzielić się doświadczeniem.

Za sugestię z góry dziękuję.

Czy zawsze będzie jedno kolejne pytanie, czy może być wiele?

Myślę, że jedno. Dziewczyny w biurze będą po prostu zaznaczały odpowiedź i będą zadawały kolejne pytania. Dlatego właśnie zwracam się ku jakiejś drzewiastej strukturze. Pytam dlatego, bo może ktoś coś podobnego robił i wie coś czego ja na początku drogi nie widzę. Zawsze to lepiej od razu zrobić dobrze niż potem przerabiać i doklejać protezy :wink:

Przyjrzyj sie: https://github.com/alphagov/smart-answers