Complex Active_record associations

So I have 3 models - Users, Roles, Records. For each record X user, can have 1 of 3 roles, and those roles will give different permissions on each record. So for example, user 1 - has a role of follower on record 5, also user 1 - is a manager(role) of record 4, etc. So what I am trying to do, is figure out how to create that situation. Would something like this work? User has_and_belongs_to roles has_many records through => role_record

    user_status -- table       user_id       status_id

roles has_and_Belongs_to Users has_and_belongs_to records

      role_record -- table         role_id         record_id         (user_id)

records has_and_belongs_to roles

The final goal is I want to call - user(1).role(1) - and have it spit out all the associated records that I have.

I have n amount of users and records, but currently only 3 roles. Thanks for the help!