How do I assign a role after user clicks a link? I'm trying to get a behavior when a link is clicked, a role is applied to a user.

My use case is to allow a registred user to step into another type of user. Example is airbnb.com. You are a renter but once you click a certain menu link you become a host and get new menu items to then list your house. 

I want to give permissions and access to certain areas of the site only when someone decides to unlock it.
You can use Rules for that. The configuration can be({{}} are placeholders, do not use on the real values):


React on event "Content is viewed"
Condition: Data comparison (Parameter: Data to compare: [node:nid], Data value: {{NID from the node you're using to trigger this role activation}})
Action: Add user role (Parameter: User: [site:current-user], Roles: {{the role you want to add}})