Defining Relationship ( Many to Many) for 3 Models in Rails

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:

It is taught in IB in grade 5

It is taught in CBSE in grade 4.

How can I set this up in Rails?

On 26 March 2013 08:29, Myth17 [email protected] wrote:

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:

It is taught in IB in grade 5

It is taught in CBSE in grade 4.

How can I set this up in Rails?

You have not given us enough information.

I have no idea what a Grade object is. What are the fields of a grade
object?

Colin

Grade is anything like 4,5 or say HighSchool with a ‘name’ and
‘description’ attribute.

On 26 March 2013 09:33, Myth17 [email protected] wrote:

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 …

CGT belongs_to Curriculum and Grade and Topic.

Does that sound as if it will do the job?

Colin

On Tuesday, March 26, 2013 3:13:05 PM UTC+5:30, Colin L. wrote:

Does that sound as if it will do the job?

The relationship scenario is like :

You have not given us enough information.

I have no idea what a Grade object is. What are the fields of a grade
object?

Colin

Apologies for Top Posting.
The solution looks great. Thanks Colin! I was aware of has_many through
but
did not know I could apply it here for three models.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs