Я многое делаю из своего контроллера:
before_filter :require_user
def require_user
unless current_user
store_location
flash[:notice] = "You must be logged in to access this page"
redirect_to login_url
return false
end
end
Но в зависимости от вашей роли (администратор, пользователь, участник) вы можете выполнить одну и ту же задачу. Таким образом, перед визуализацией вид, ваш контроллер позаботится о том, куда они должны быть направлены.