For routes, you're probably only going to want one per route. Same for controllers...one controller for articles, one for users, articles etc. Within your controllers and views, you can then use Auth to get the authenticated user, find their role, and do whatever you need to do for them like toggle buttons, get content from the database or whatever else you need to do.
For views, I would start with separate views for each route, but youll find that there may be a lot of common code in them. The create and edit views, for example, will probably have a lot of the same form pieces. In these cases, extract the common code out to a partial template to save yourself some time and make it easier to change in the future.