title: Rails 3 override Devise sessions controller
body: <p>I need to override Devise sessions controller during the login process (Rails 3.0.9, Ruby 1.9.2, Devise 1.3.4), I tried this without any effect</p>
  
  <pre><code>class SessionsController &lt; Devise::SessionsController
  
    # GET /resource/sign_in
    def new
      resource = build_resource
      clean_up_passwords(resource)
      respond_with_navigational(resource, stub_options(resource)){ render_with_scope :new }
    end
  
  end
  </code></pre>
  
  <p>Ideas?</p>
  
  <p><strong>EDIT</strong>
  As indicated in the answer, I also need to change the route. In addition, I also need to copy the views. It's better explained here
  <a href="http://presentations.royvandewater.com/authentication-with-devise.html#8">http://presentations.royvandewater.com/authentication-with-devise.html#8</a></p>
  
  <p>My custom strategy:</p>
  
  <pre><code>devise.rb
  config.warden do |manager|
    manager.strategies.add(:custom_strategy) do
      def authenticate!
        ... authenticate against 3rd party API...
        if res.body =~ /success/
          u = User.find_or_initialize_by_email(params[:user][:email])
          if u.new_record?
            u.save
          end
        success!(u)
      end
    end
  end
  </code></pre>