# Architecture/model related question

**URL:** <https://www.ruby-forum.com/t/architecture-model-related-question/154024>\
**Category:** Rails\
**Created:** [November 24, 2008, 6:25pm UTC](https://www.ruby-forum.com/t/architecture-model-related-question/154024 "2008-11-24T18:25:45Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![melvinram](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a698b9/32.png) [@melvinram](https://www.ruby-forum.com/u/melvinram)\
**Post date:** [November 24, 2008, 6:25pm UTC](https://www.ruby-forum.com/t/architecture-model-related-question/154024/1 "2008-11-24T18:25:45Z")

</div>

I’ve currently got 3 models: User, Lesson and Course

The associations are:

- Lesson belongs\_to Course

- Course has\_many Lessons

- Course belongs\_to User

- User has\_many Courses

Now I’m adding a new model for LessonCompletion, which will be  
used to track which lessons the user has completed and when.

LessonCompletion belongs\_to Lesson  
LessonCompletion belongs\_to User

User has\_many LessonCompletions  
Lesson has\_many LessonCompletions

Now the way that this model (LessonCompletion) will be used is  
primarily  
on the Course show page in displaying which lessons are done.

My question is, should I add another association of LessonCompletion  
belongs\_to Course,  
Course has\_many LessonCompletions or should I just go with  
Course has\_many LessonCompletions, :through =\> :lessons ?

The reason I ask is because I’m wondering if the :through will be very  
taxing on the system as it will get used a lot.
