Q:

Itinerary Model

Use case:
A user is able to create an :itinerary which has many :days (i.e. Hong Kong Itinerary: Day 1, Day 2, Day 3 etc) and each :day has a :description
I am not sure how I should deal with the Itinerary, Day , Description. 
Should I create a separate models for Itinerary and Day and Description? 
**itinerary.rb** 
has_many :days

**day.rb** 
has_one :description

But wouldn't this be so confusing?  Is there a simpler way you would do it? 
Or should I create the model "Day" and have :description as an attribute?  If that's the case, how will I order the Day instances (i.e. in the sequence of Day 1, Day 2, Day 3 etc)

A:

if you don't have many attributes on the description table, then only day table will do.  Just add the description table attributes to day table. 
add an extra field on day model.  Like integer type day_no.  User will add specify the day number there.  You can then sort days based on that new attribute.