The problem is that when you use the "rendered" property to hide an element, that element is not merely hidden, it is actually NOT rendered. Thus if you try to render visible it with a partial refresh, there is no element to get a handle on to render. (Did that make sense??)
You can use the css "display" or "visibility" properties to hide or display the element.
In the Properties tab of the element that you want to hide, go to All Properties, Styling, style and compute your values there. In your case you could use the following:
If ('viewScope.get("activate")) {
display:inline
} else {
display:none
}