I'm not quite familiar with CanCan but this kind of logic belongs inside the specific controller. This is an extract of how I do it. I'm sure you get the point and can abstract it onto CanCan.
I don't know if you're still looking for the answer to this, but it's not too hard. All you need is a condition that's false for a guest user. In your else block, put something like can :show, Controller do |controller| user.id.
Present? End.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.