title: Rails devise reset password not working
body: <p>I am using devise in a rails 3 application. I have devise fully working however the 'forgot password' function has decided to stop working. When I enter an email address and click the 'send me reset instructions' button I am redirected to the login page which displays a flash notice saying please login first. I have also found out that 'send me reset instructions' is trying to access <a href="http://0.0.0.0:3000/users/password" rel="nofollow">http://0.0.0.0:3000/users/password</a>. I previously had this working and now its decided to stop working. I do not think it has anything to do with any form of authorization like ACL9. Has anyone experienced the same similar problem. Are there any possible solutions to fixing this.  </p>
  
  <p><strong>Devise/Password_controller.rb</strong> </p>
  
  <pre><code>class Devise::PasswordsController &lt; ApplicationController
    prepend_before_filter :require_no_authentication
    include Devise::Controllers::InternalHelpers
  
    access_control do
        allow all
    end
  
    # GET /resource/password/new
    def new
      build_resource({})
      render_with_scope :new
    end
  
    # POST /resource/password
     def create
      self.resource = resource_class.send_reset_password_instructions(params[resource_name])
  
      if successful_and_sane?(resource)
        set_flash_message(:notice, :send_instructions) if is_navigational_format?
        respond_with({}, :location =&gt; after_sending_reset_password_instructions_path_for(resource_name))
      else
        respond_with_navigational(resource){ render_with_scope :new }
      end
  
    rescue =&gt; e;
      puts e.backtrace;
      raise e;
    end
  
    # GET /resource/password/edit?reset_password_token=abcdef
    def edit
      self.resource = resource_class.new
      resource.reset_password_token = params[:reset_password_token]
      render_with_scope :edit
    end
  
    # PUT /resource/password
    def update
      self.resource = resource_class.reset_password_by_token(params[resource_name])
  
      if resource.errors.empty?
        flash_message = resource.active_for_authentication? ? :updated : :updated_not_active
        set_flash_message(:notice, flash_message) if is_navigational_format?
        sign_in(resource_name, resource)
        respond_with resource, :location =&gt; redirect_location(resource_name, resource)
      else
        respond_with_navigational(resource){ render_with_scope :edit }
      end
    end
  
    protected
  
      # The path used after sending reset password instructions
      def after_sending_reset_password_instructions_path_for(resource_name)
        new_session_path(resource_name)
      end
  
  end
  </code></pre>
  
  <blockquote>
    <p></p>
  </blockquote>
  
  <pre><code>  ProjectRails::Application.configure do
    # Settings specified here will take precedence over those in config/application.rb
  
    # In the development environment your application's code is reloaded on
    # every request.  This slows down response time but is perfect for development
    # since you don't have to restart the webserver when you make code changes.
    config.cache_classes = false
  
    # Log error messages when you accidentally call methods on nil.
    config.whiny_nils = true
  
    # Show full error reports and disable caching
    config.consider_all_requests_local       = true
    config.action_view.debug_rjs             = true
    config.action_controller.perform_caching = false
  
    # Don't care if the mailer can't send
    config.action_mailer.raise_delivery_errors = true
  
    # Print deprecation notices to the Rails logger
    config.active_support.deprecation = :log
  
    # Only use best-standards-support built into browsers
    config.action_dispatch.best_standards_support = :builtin
  
    config.action_mailer.perform_deliveries = true 
    config.action_mailer.raise_delivery_errors = true
  
    #SMTP
  
    #SMTP
  
        config.action_mailer.default_url_options = { :host =&gt; "0.0.0.0:3000" }
        config.action_mailer.delivery_method = :smtp
        config.action_mailer.smtp_settings = { :address =&gt; "smtp.example.example.ltd.uk",
                                               :user_name =&gt; "example.service@example.co.uk",
                                               :password =&gt; "1Plonker",
                                               :authentication =&gt; "login" }
  
    end
  
  
         config/intializers/devise 
  
            config.mailer_sender = "Project@example.co.uk"
  </code></pre>