title: In Devise I can not check if user was authenticated or not when active_for_authentication? returns false. How can I do that?
body: <p>My Rails application uses Devise for authentication. My <code>User</code> model has <code>active_for_authentication?</code> which checks for user <code>status</code> attribute and returns <code>true</code> or <code>false</code> for different statuses (active or suspended). My application also has a <code>before_action</code> hook which assigns <code>I18n.locale</code> to the <code>User#language</code> attribute value.</p>
  <p>The problem is the following: every time I try to access either <code>current_user</code> or <code>user_signed_in?</code> Devise helper for user language detection purposes the Devise runs <code>active_for_authentication?</code> method. And if that method returns <code>false</code> the Devise halts the entire HTTP request (internally it calls <code>throw :warden, ...</code>) and renders its own error. It turns out that I'm unable to access authenticated but suspended user instance in my code with Devise.</p>
  <p>I want suspended users to see error messages in their language like active ones. How can I achieve that?</p>