title: How to structure a HMT with many columns
body: <p>Users and Services are <code>has many through</code> relationship. However, each service has its own unique attributes. Should services be separate models? Or should I create one <code>service</code> model with many columns (for each attribute). Performance is a concern.</p>
  
  <p>3 example services:</p>
  
  <pre><code>Service 1 requires zipcode:string, phone_number:string
  Service 2 requires licensePlate:string, carColor:string
  Service 3 requires shoeSize:integer, shoeColor: string
  ...
  Service 100 ...
  </code></pre>
  
  <h3>Option A (<code>has_many :through</code>):</h3>
  
  <pre><code>rails g model services name:string
  Join Model:
  rails g model service_user zipcode:string phone_number:string licensePlate:string carColor:string shoeSize:integer shoeColor: string
  </code></pre>
  
  <p>or</p>
  
  <h3>Option B (separate <code>One to Many</code>):</h3>
  
  <pre><code>rails g model service1 user_id: integer zipcode:string phone_number:string
  rails g model service2 user_id: integer licensePlate:string carColor:string
  rails g model service3 user_id: integer shoeSize:integer shoeColor: string
  </code></pre>