When to use Has Many and Has and Belongs to many.

I am trying to design an interface that handles user accounts and their email aliases.

What is the relationship between a user and their email accounts?


It depends (I know -- great answer).

Do you intend to allow only one e-mail address per user?

If so the email should just be an attribute of your user model (an
email column in the users table).

If you want to allow more than one you could be lazy and just add
columns for email1, email2, and email3.

You could also have a User model and an Email model where User
has_many :emails and Email belongs_to :user. The emails table would
be pretty simple -- just columns for id and email.

In your controllers you could then use the methods that Rails sets up
for you automatically like:

u = User.find(1)

sorry i misunderstand does the email aliases is equal to email address

this from Apr, 2006, still good orientation material