Есть ли эквивалент "after_sign_in_path_for" для редактирования / фиксации пользователя? - PullRequest
1 голос
/ 27 марта 2012

Запуск Rails 3.2.1 с devise-2.0.4.gem.

Существует ли эквивалентная конфигурация перенаправления для user / commit, аналогичная "after_sign_in_path_for"?В производственном процессе мне нужно использовать HTTPS, чтобы URL-адрес «Редактировать пользователя» был https://www.xyz.com/users/edit.. Когда я нажимаю «Обновить», происходит правильное обновление, но затем Devise перенаправляет на «http://www.xyz.com/users/edit", что приводит к ошибке загрузки страницы.так как HTTP не поддерживается в рабочей среде.

У меня была похожая проблема со входом / выходом (http://groups.google.com/group/plataformatec-devise/browse_thread/thread/5fafb2a8c90f1d43)), которую я решил, определив after_sign_in_path_for. Но я не вижу подобной конфигурации для редактирования / принятия пользователя.

Затем я попытался принудительно установить HTTPS в маршрутах. Rb:
devise_scope: user do
get "users / edit",: to => "users / registrations # edit",: as =>: edit_user,: protocol => "https"
поставить "users / commit",: controller => "users / registrations",: action => 'commit',: as =>: commit_user,: protocol => "https "
end

И посмотрите это в маршрутизации rake:
edit_user GET /users/edit(.:format) users / registrations # edit {: protocol =>" https "}
commit_user PUT /users/commit(.:format) пользователи / регистрации # commit {: protocol => "https"}

Но Devise все еще направляетв HTTP после действия обновления.

Глядя на registrations_controller.rb, я вижу несколько экземпляров
redirect_to edit_user_path
Поэтому в качестве обходного пути я изменяю его на
redirect_to https://www.xyz.com/user/edit

И это работает.Но я не уверен, что это правильный подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...