Я не использовал Clearance, я обычно либо выполняю свою собственную аутентификацию, либо использую Devise, но быстрый просмотр кода показывает, что sign_in (@user) делает не более, чем set @ current_user = @ user, поэтому вам нужно немногоспособ сохранить эту информацию, прежде чем перенаправить.Клиренс, похоже, использует для этого токен запомнить, поэтому я бы попробовал (не проверено) что-то вроде этого:
sign_in(@user)
cookies['remember_token'] = @user.remember_token
redirect_to(root_path)