разработка подтверждения регистрации останавливается, когда я нажимаю ссылку для подтверждения по электронной почте - PullRequest
1 голос
/ 28 сентября 2011

При тестировании на локальном компьютере я получаю странное поведение:

1) Прежде всего, когда я регистрируюсь, меня перенаправляют на домашнюю страницу, и я вижу флэш-сообщение с надписью:

 "You have signed up successfully. However, we could not sign you in because your account is unconfirmed."

Мне странно видеть сообщение с предупреждением, когда пользователь просто находится на правильном пути создания учетной записи.Я мог бы легко изменить сообщение в /locales/devise.en.yml, но я просто хотел подтвердить, что это было стандартное поведение devise, а не что-то не так с моей настройкой?

2) Я успешно получилэлектронное письмо со ссылкой для подтверждения:

<p>You can confirm your account through the link below:</p>

<p><a href="http://localhost:5000/accounts/confirmation?confirmation_token=MywxHuW3PWHvg6x2nUfG&amp;format=">Confirm my account</a></p>

Когда я нажимаю на ссылку для подтверждения электронной почты, я вижу пустую веб-страницу.

журнал разработки показывает:

Started GET "/accounts/confirmation?confirmation_token=MywxHuW3PWHvg6x2nUfG&format=" for   127.0.0.1 at 2011-09-28 09:41:55 -0700
   Processing by Devise::ConfirmationsController#show as 
  Parameters: {"confirmation_token"=>"MywxHuW3PWHvg6x2nUfG"}
  SQL (0.9ms)   SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
 FROM pg_attribute a LEFT JOIN pg_attrdef d
 ON a.attrelid = d.adrelid AND a.attnum = d.adnum
 WHERE a.attrelid = '"artists"'::regclass
 AND a.attnum > 0 AND NOT a.attisdropped
 ORDER BY a.attnum
  Artist Load (0.4ms)  SELECT "artists".* FROM "artists" WHERE   "artists"."confirmation_token" = 'MywxHuW3PWHvg6x2nUfG' LIMIT 1
  SQL (0.8ms)   SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
  FROM pg_attribute a LEFT JOIN pg_attrdef d
  ON a.attrelid = d.adrelid AND a.attnum = d.adnum
  WHERE a.attrelid = '"artists"'::regclass
  AND a.attnum > 0 AND NOT a.attisdropped
  ORDER BY a.attnum
   SQL (0.2ms)  BEGIN
   AREL (0.9ms)  UPDATE "artists" SET "confirmation_token" = NULL, "confirmed_at" = '2011-09-28 16:41:55.894603', "updated_at" = '2011-09-28 16:41:55.895467' WHERE "artists"."id" = 85
  [paperclip] Saving attachments.
  SQL (0.8ms)  COMMIT
  SQL (0.1ms)  BEGIN
  AREL (0.5ms)  UPDATE "artists" SET "last_sign_in_at" = '2011-09-28 16:41:55.915779', "current_sign_in_at" = '2011-09-28 16:41:55.915779', "last_sign_in_ip" = '127.0.0.1', "current_sign_in_ip" = '127.0.0.1', "sign_in_count" = 1, "updated_at" = '2011-09-28  16:41:55.916532' WHERE "artists"."id" = 85
   [paperclip] Saving attachments.
  SQL (0.5ms)  COMMIT
  Completed 406 Not Acceptable in 231ms

«Не приемлемо» это говорит?Что это значит?Это прошло или нет?Что случилось?

1 Ответ

2 голосов
/ 29 сентября 2011

Я понял это. Видимо, ссылка содержала параметр «& format =» в конце ссылки. При создании представлений для электронных писем вводился @resource, в результате чего идентификатор ресурса вставлялся в качестве формата URL-адреса (в данном случае он пуст, потому что я использую params_to и псевдоним исполнителя в качестве идентификатора, и есть некоторые другая проблема, которая у меня есть с этим не заселением ... не связана с этой проблемой). Я исправил взгляды, и это устранило проблему.

...