I have three models in Rails as : Curriculum, Grade and Topics.
The relationship scenario is like :
Curriculum ‘International Baccalaureate(IB)’ in grade ‘6’ has_many Topics ( t1,t2,t3 and CompareFraction)
Curriculum ‘CBSE’ in grade ‘5’ has_many Topics (t1,t2,t4,t5 and CompareFraction) [ A Topic ‘Compare Fraction’ will be taught in many different curriculums but maybe in different grades ]
A Grade, say 5 will itself be a part of all Curriculums like IB,CBSE.
I need to store information such that for a Topic Compare Fraction, I can say:
Grade is anything like 4,5 or say HighSchool with a 'name' and 'description'
attribute.
Please don't top post, it makes it difficult to follow the thread. Thanks.
So a curriculum has many grades and a grade has many curriculums.
A topic is associated with a set of grade/curriculum combinations.
I think the solution is a join table (you will have to think of a good
name for it), I will say c_g_ts to save typing here. So:
Curriculum has_many c_g_ts and has_many topics through c_g_t and
has_many grades through c_g_t
Grade has_many c_g_ts and has_many curriculums through c_g_t and
has_many topics through c_g_t
Topic has_many ...