Devise - reset password problem

Mam taki problem z Devise, mianowicie nie jest wysyłany link z resetem hasła.
Moja konfiguracja wygląda następująco

w module User dodano

devise :database_authenticatable, :registerable,:recoverable, :rememberable, :trackable, :validatable, :confirmable

w Routes

devise_for :users, controllers: { sessions: “users/sessions”,:registrations => “users/registrations”, :confirmations => “users/confirmations”, :passwords => “users/passwords”, :unlocks => “users/unlocks” }, :path => ‘’, path_names: { sign_in: ‘login’, sign_out: ‘logout’, unlock: ‘unblock’, registration: ‘register’, sign_up: ‘register’ }

as :user do

  patch '/user/confirmation' => 'users/confirmations#update', :via => :patch, :as => :update_user_confirmation

end

w Devise.rb mam te 2 linie odnośnie resetowania hasła.

config.reset_password_keys = [ :email ]
config.reset_password_within = 6.hours

w katalogu controllers/users są wszystkie controllery potrzebne do działania Devise, w views/users są wszystkie widoki do tego.

Zmieniłem konfigurację Devise wg

i to działa ok. ale resetowanie hasła już nie wysyła maila z linkiem, log wygląda jak poniżej. Mail nie jest wysłany ale co gorsza, token nie jest wygenerowany, nie ma zmian w bazie.

Started GET "/password/new?utf8=%E2%9C%93&authenticity_token=RHmWDUGCLIqhuXd5bDhn18ccmnNajDikOLIhDYmcoIg%3D&user%5Bemail%5D=bart%40b.pl&commit=Send+me+reset+password+instructions" for 127.0.0.1 at 2015-11-24 13:51:03 +0100 Category Load (5.5ms) SELECT `categories`.* FROM `categories` Processing by Users::PasswordsController#new as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"RHmWDUGCLIqhuXd5bDhn18ccmnNajDikOLIhDYmcoIg=", "user"=>{"email"=>"bart@b.pl"}, "commit"=>"Send me reset password instructions"} Rendered /home/patryk/.rvm/gems/ruby-2.1.2@myapp/gems/devise-3.4.1/app/views/devise/shared/_links.html.erb (1.5ms) Rendered users/passwords/new.html.erb within layouts/application (46.1ms) Rendered shared/_nav.html.erb (4.5ms) Product Load (4.0ms) SELECT `products`.* FROM `products` WHERE `products`.`publish` = 'true' ORDER BY `products`.`created_at` ASC LIMIT 3 Rendered shared/_footer.html.erb (71.3ms) Completed 200 OK in 984ms (Views: 953.6ms | ActiveRecord: 15.9ms)

kompletnie nie wiem jak to debugować, nie ma żadnego błędu, po prostu nie działa, dodam że nie zmieniałem kontrolera passwords.

Prośba o jakieś wskazówki bo nie wiem jak to ugryźć :frowning:

Czy jest to środowisko lokalne, czy jakiś hosting? Jaki?

lokalne, developerskie, maile wysyłam na MailCatcher więc odpada całkowicie problemy z SMTP, chociaż w tym przypadku jak widać nic nie jest wysyłane.

Spróbuj napisać testy na to, czy wysyłane są maile.
Jeśli przejdą, to przyczyny trzeba szukać poza Railsami.
``http://stackoverflow.com/questions/7284413/how-to-test-with-rspec-if-an-email-is-delivered

Problem nie jest tylko w wysyłaniu. Najpierw powinien zostać zmieniony reset_password_token w bazie a tak nie jest. Jak widać w logu poza wywołaniem kontrolera nic się nie dzieje. Poniżej log jak rejestruję nowego użytkownika i tu wszystko jest ok.

Started POST “/register” for 127.0.0.1 at 2015-11-24 15:16:19 +0100
Processing by Users::RegistrationsController#create as HTML
Parameters: {“utf8”=>“✓”, “authenticity_token”=>“RHmWDUGCLIqhuXd5bDhn18ccmnNajDikOLIhDYmcoIg=”, “user”=>{“email”=>“bart@b.pl”}, “commit”=>“Register”}
(6.4ms) BEGIN
User Exists (7.3ms) SELECT 1 AS one FROM users WHERE users.email = BINARY ‘bart@b.pl’ LIMIT 1
User Load (0.5ms) SELECT users.* FROM users WHERE users.confirmation_token = ‘2fb7eb8d31c862009899759f0f1b75fd7c4b33908d9589c6932c2d4b9251ddb0’ ORDER BY users.id ASC LIMIT 1
SQL (0.4ms) INSERT INTO users (confirmation_sent_at, confirmation_token, created_at, email, updated_at) VALUES (‘2015-11-24 14:16:20’, ‘2fb7eb8d31c862009899759f0f1b75fd7c4b33908d9589c6932c2d4b9251ddb0’, ‘2015-11-24 14:16:19’, ‘bart@b.pl’, ‘2015-11-24 14:16:19’)
Rendered users/mailer/confirmation_instructions.html.erb (2.6ms)

Devise::Mailer#confirmation_instructions: processed outbound mail in 535.5ms

Sent mail to bart@b.pl (99.4ms)
Date: Tue, 24 Nov 2015 15:16:20 +0100
From: info@myapp.com
Reply-To: info@myapp.com
To: bart@b.pl
Message-ID:
Subject: Confirmation instructions
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit

Welcome bart@b.pl!

You can confirm your account email through the link below:

Confirm my account

(3.5ms) COMMIT
Redirected to http://localhost:3000/
Completed 302 Found in 1628ms (ActiveRecord: 18.1ms)

Analogicznie powinno wyglądać przy resecie hasła, więc chyba jest to problem po stronie kontrolera który nic nie robi, Devise w ogóle się nie uruchamia.

Dobra rozwiązałem, aż wstyd się przyznać :smiley: W widoku do resetowania hasła wsadziłem kod do formularza nie usuwając formularza html z szablonu, więc miałem formularz w formularzu.
Dzięki za zainteresowanie tematem :wink: