Перенаправление регистрации с использованием Devise завершается неудачно - PullRequest
2 голосов
/ 12 ноября 2011

Мы настроили Devise для нашего приложения на Rails, и все прекрасно работает.Это все, кроме перенаправления после регистрации.Каждый раз, когда создается новый пользователь, он попадает на http://localhost:3000/register.user

Многие другие, похоже, имели проблемы с регистрацией, а затем решили свои проблемы.Эти два руководства представляются особенно актуальными:

Разработать перенаправление после регистрации

https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-on-successful-sign-up-(registration)

В настоящее время мы работаемНастройка, подобная той, которая рекомендована в разделе «Как сделать от разработчика Devise», упомянутом выше.

Если я посмотрю на вывод с сервера, он скажет:

Processing by Devise::RegistrationsController#create as 
Parameters: {"utf8"=>"✓","authenticity_token"=>"ANhNV4Q/XRsSdnAGoxIeB2PWOXsp+2afDe2r/0M7ISY=", "user"=>{"email"=>"new@gmail.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "full_name"=>"", "company"=>""}, "commit"=>"Sign up"}
(0.1ms)  SELECT 1 FROM "users" WHERE "users"."email" = 
---- THIS PART ASSUMED TO BE OKAY ----- 
(0.2ms)  UPDATE "users" SET "last_sign_in_at" = '2011-11-12 18:41:02.094825', "current_sign_in_at" = '2011-11-12 18:41:02.094825', "last_sign_in_ip" = '127.0.0.1', "current_sign_in_ip" = '127.0.0.1', "sign_in_count" = 1, "updated_at" = '2011-11-12 18:41:02.095195' WHERE "users"."id" = 32
Completed 406 Not Acceptable in 282ms

Это последняя строка, которая заставляет меня думать, что проблема имеет мало общего с ответами на другие заданные вопросы иответил.

Я надеюсь, что кто-то может помочь.Если нужно, я могу выставить route.rb и т. Д., Я просто не знаю, сколько предоставить.

1 Ответ

1 голос
/ 13 ноября 2011

Похоже, ваша проблема очень похожа на эту: Странный редирект после входа в систему с Devise .

Попытайтесь выяснить, звоните ли вы по user_session_path(user) или user_registration_path(user) (возможно, вы делаете это на своем form_for). Поскольку user_session_path не требует никаких аргументов, Rails рассматривает его как формат и возвращает 406.

РЕДАКТИРОВАТЬ: Добавлено "или user_registration_path(user) (может быть, вы делаете это на своем form_for)"

...