I have three models, user, achievement, badge and I plan on using has_many :through instead of has_many_and_belongs_to since I will have a few extra fields in the join tables.
According to a Railscast I watched, using this method requires coming up with new model names and not user_badge or user_achievement.
For my User Achievement join what do you think of Accomplishment?
For my User Badge join what do you think of Distinction?
Yes, that is perfect. It reads as “User has_many Achievements through Accomplishment”