Придумать восстановить ваш пароль URL перенаправления неправильно - PullRequest
0 голосов
/ 08 апреля 2019

Итак, во-первых, я не совсем разбираюсь в рельсах или героку, так что это может оказаться проще, чем я боюсь.Я помогал стартапу (не совсем уверен, что случилось, но их разработчик заболел, и теперь у них нет никого, кто бы поддерживал / разрабатывал для своего сайта).Система построена на рельсах 4.2.6

На прошлой неделе мы наткнулись на плохое перенаправление (сервер не найден).Поскольку есть промежуточный сервер и основная производственная система, я пошел проверить, происходит ли это там.

После подтверждения того, что это действительно происходит на обоих серверах, я отправился на проверку шаблона электронной почты, используемого в reset_password_instruction.html.slim (это шаблон электронной почты, отправляемый пользователям).Помощник по URL (если это правильное имя) не существует в списке маршрутов, созданных rake routes.(вы найдете, что можете найти похожие проблемы в другом месте, например, здесь: разработка проблем и Я изменил URL с edit_password_url на edit_user_password_url, протестировал его локально и в стадии подготовкисервер и все прошло хорошо ... Но он все еще перенаправляет меня на несуществующий сервер на главном сайте

Немного смущенный, я повторил все шаги, чтобы убедиться, что я не сделал ничего плохого, проверил кодкак на промежуточном сервере, так и на основных серверах в heroku, и все было в основном одинаково. Хотя самая странная вещь - это URL-адреса перенаправления. Насколько я понимаю, страница вроде:

"www.mypage.com" будет иметьURL-адрес перенаправления, например, «www.mypage.com/users/password/edit/userId» или что-то подобное, но он перенаправляет меня на это: «http://mailtracker.allbands.com.br/wf/click?upn=wvr..." (3 точки - это я, исключая остальную часть URL.

Я всюду искал этот поддомен mailtracker, я даже добавил его к правилам DNS, но ничего. В стадии, URL-адрес также немного прикольный: https://u3138184.ct.sendgrid.net/wf/click?upn=tF6axPyJ... несмотря на это, он работаетнормальныйly, что только усиливает мою путаницу ...

Я подозреваю, что есть какой-то пакет из heroku, создающий эти URL, но что-то путается по пути.ресурсы, используемые heroku: SendGrid, New Relic APM и некоторые базы данных, которые, скорее всего, не имеют отношения к делу.Я хотел бы сделать ставку на SendGrid, но я не нашел ничего связанного с URL-адресами на их панели инструментов.

rout.br

devise_for :users, controllers: {sessions: "sessions",
    omniauth_callbacks: "users/omniauth_callbacks",
    registrations: "users/registrations"},
    path_names: {sign_in: "sign-in",
    sign_out: "sign-out",
    sign_up: "sign-up"}

devise_scope :user do
    get "set_user_info", to: "users/registrations#set_user_info"
  end

rake routes | grep password

user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format)devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format)   devise/passwords#update

reset_password_instruction.html.slim

= render 'header'
p
  | Someone asked for a link to change your password. YOu can do so with the link below:
p
  = link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token)
...