robertdfrench/MathAcademyRails — Issue #3: ProblemTemplate / Skills linkage
Author: robertdfrench
Created: 2011-11-14 03:05:09+00:00
State: open

ProblemTemplates and Skills are linked by two join tables:

* `problem_templates_skills`, which is directed from PT's to Skills
* `skills_problem_templates`, which is directed from skills to PT's

This is unfortunate, because it makes collecting all Skills which belong to a particular PT very cumbersome (and vice versa). Furthermore, it doesn't allow any control over the degree of dependency (maybe Problem Template A depends more heavily on Skill B than it does Skill C), and it doesn't support bidirectional dependency in a clean way.

I propose using an intermediate model that would capture the dependency information more accurately, and then virtual attributes for "Inbound" and "Outbound" can be added. This will also facilitate adding a concept of relatedness between skills.