Невозможно перенаправить со страницы редактирования пользователя, используя devise gem

Я использую devise gem версии 4.1.1 в своем проекте rails и на своей странице /users/edit я хочу перенаправить на ту же страницу после того, как пользователь сменит свой пароль вместо перенаправления на root_path. Я погуглил и нашел эту ссылку

Я сделал соответствующие изменения, и мой контроллер регистрации выглядит следующим образом

class RegistrationsController < Devise::RegistrationsController

  protected

  def after_update_path_for(resource)
    edit_user_registration_path
  end
end

и в route.rb я добавил контроллер регистрации

devise_for :users, controllers: { confirmations: "confirmations", registrations: "registrations"}

Но все же по какой-то причине я не могу перенаправить на ту же страницу, и он все еще перенаправляет на root_path. Я что-то пропустил?

РЕДАКТИРОВАТЬ 1: Я также использую гем backbone-rails для использования backbone.js внутри моего приложения rails. Класс маршрутизатора backbone.js выглядит следующим образом

class Pulse.Routers.MainRouter extends Backbone.Router
 routes:
  "new"                                       : "newBranch"
  ""                                          : "analytics"
  "analytics"                                 : "analytics"
  "voices"                                    : "manageVoice"
  "branches"                                  : "manageBranch"
  "tablets"                                   : "manageTablet"
  "branch/:branchId/tablet/:tabletId/edit"    : "tabletEdit"
  "branch/:branchId/tablet/new"               : "tabletAdd"
  "timeline"                                  : "timeline"
  "reports"                                   : "reports"
  "questions"                                 : "manageQuestion"
  "users"                                     : "users"
  ":id/edit"                                  : "edit"
  ":id"                                       : "show"
  ".*"                                        : "index"

с последующими соответствующими функциями, которые визуализирует представления и мой route.rb для пользователя, выглядит следующим образом

authenticated :user do
  root 'static_pages#home', as: :authenticated_root
end
root 'static_pages#landing' 

Всякий раз, когда я обновляю профиль пользователя, я вижу адрес браузера как "/users/edit", но отображается страница индекса, связанная с файлом роутера backbone.js. Я вижу, что элемент управления собирается в файл маршрутизатора после того, как я вставил туда выражение console.log. Так что, в любом случае, я могу обойти магистральный маршрутизатор и отобразить страницу "/users/edit" после того, как пользователь обновит свой профиль?

0 ответов

Другие вопросы по тегам