title: Rails Has Many Association
body: <p>I have few question that bugs me off and need to be answered. Everything is related to the following tutorial <a href="http://railscasts.com/episodes/47-two-many-to-many?view=comments" rel="nofollow noreferrer">Two Many-to-Many</a></p>
  <h3>Question 1</h3>
  <p>Does the join table using has_many need to have an id? or its best practice to remove the id? and add an index and using the two other primary key and set it unique and together?</p>
  <h3>Question 2</h3>
  <p>How can it be done in the migration of creating a table?</p>
  <h3>Question 3</h3>
  <p>After doing these relationship model and updating the data. I would like to create a new set of data everytime it is updated (to preserve the data). How would a controller would look in the update, new, create model?</p>
  <h3>Question 4</h3>
  <p>In the the middle table, I would like to set attributes such has a visible true, or false, how can I set also not just the third table but also the second table arguments</p>