I'm new to rails, and I'm working on my second rails app.

The app will have different roles for users, but some users will have multiple roles.

Every user of the site will be an Artist. Some users will have the role of a moderator.

How would I structure this? In some PHP apps I've used, there is only one user, and then a database column for is\_admin, etc. But I've looked at the source for rails apps and have seen separate models for User and Admin, etc. although I'm not sure why.

So, should I have a single User model with a role attribute, which could be Moderator, and then just call Users "Artists" in my views, routes, etc.?

Or should I have a User model, a Moderator model which inherits from it, and an Artist model which belongs\_to User?

I'm really confused.