Database and model design for multiple user roles

I would like to create a web application that has two types of users, producer and consumer.

Both users have three fields in common : username,password and email. Producer has also the fields address and telephone.

I could make separate models,views,controller and tables for each user types but this violates DRY. Could Single table inheritance be used and how?

I would probably keep it simple and have a users table with all the fields in (leave the ones you don't need empty) and use the cancan gem to give the different types of users different roles.