Unsubscribing Facebook admins and regular users from notifications
Verbosity of a controller is typically a signal of dubious design. As I see it, you have two sensible options:


If User and FacebookAdmin are two very different user entities: they should be treated in two separate controllers.
If User and FacebookAdmin are very similar (i.e. FacebookAdmin inherits from User): they can share the same controller but use always @user as variable. This way the code will be simplified dramatically.


What you should not have is a controller full of conditional branches, that will be an unmaintainable mess (and awful to test).