Im Standardfall wird es häufig als "{host: 'localhost', port: 3000}" in "config.action_mailer.default_url_options" festgelegt (siehe unten).
development.rb
# default url
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
# mail setting
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:user_name => Rails.application.credentials.gmail[:user_name],
:password => Rails.application.credentials.gmail[:password],
:authentication => :plain,
:enable_starttls_auto => true
}
In diesem Fall lautet die in der Bestätigungs-E-Mail gesendete URL "http: // localhost: 3000 / users / bestätigung? Confirmation_token = -XiHyA_1xCxhk846ae9G" Ich denke, es wird so geformt sein.
Da das Stammverzeichnis mit Docker ohne den 3000-Port erstellt wurde, muss die URL ohne die Portnummer erstellt werden. Daher habe ich die Einstellungen wie folgt geändert.
development.rb
config.action_mailer.default_url_options = { host: 'localhost' }
Ursprünglich sollte die URL nicht in Form von "http: // localhost / users / bestätigung? Confirmation_token = -XiHyA_1xCxhk846ae9G" generiert werden, und ich war mehrere Stunden lang süchtig danach.
Dies wurde durch einen Neustart von Docker widergespiegelt.
Es gibt immer einen Punkt, von dem ich süchtig bin, wenn ich das Web entwickle, aber da es oft durch einen Neustart funktioniert, möchte ich mehr daran denken, "einen Neustart zu versuchen, wenn ich süchtig werde".
Recommended Posts