Разработайте значение по умолчанию root_path при вызове пользовательского перенаправления - PullRequest
0 голосов
/ 17 октября 2018

Привет, я пытаюсь предложить сброс пароля для моих пользователей ... Я использую Devise в своем приложении rails, логика работает для проверки паролей с истекшим сроком действия, однако, когда я пытаюсь перенаправить пользователя в корневой каталог devise (edit_password_path и т. Д.)они перенаправлены в root_path ??Как я могу отключить это поведение по умолчанию, потому что они могут быть перенаправлены куда-либо еще, кроме разработки конкретных корней ...

Вот мой код

def is_password_expired?
    if current_user.password_updated_at.present? || !current_user.password_updated_at.to_datetime.between?(
        Time.now.to_datetime - 3.months, Time.now.to_datetime)

      redirect_to edit_user_password_path
    elsif !current_user.password_changed_at.to_datetime.between?(
        Time.now.to_datetime - 3.months, Time.now.to_datetime)

      redirect_to edit_user_password_path
    else
      return true
    end
end

Поэтому я попытался создать after_sign_in_path (ресурс)метод, и это приводит меня к конечной точке edit_user_path, однако браузер просто говорит This page isn’t working localhost redirected you too many times.

config.rb

devise_scope :user   do
    get 'login' => 'users/sessions#login'
    get 'password_submitted' => 'users/passwords#submitted'
    get 'confirmations/submitted' => 'users/confirmations#submitted'
    get 'users/sign_up_as_lender' => 'users/registrations#sign_up_as_lender'
    get 'users/registration/investor' => 'users/registrations#investor'
    get 'users/registration/borrower' => 'users/registrations#borrower'
    get 'users' => "users/registrations#new"
    get 'users/password' => 'users/passwords#new'
    put 'users/passwords/change' => 'users/passwords#update_password'
    put 'users/passwords/change' => 'users/passwords#update_expired_password'
  end

resources :passwords, only: [:new, :edit, :submitted, :create, :update]
      get 'login', to: 'sessions#new'
      get 'sessions/create', to: 'sessions#new'
      post 'sessions/create', to: 'sessions#create'
      delete 'signout', to: 'sessions#destroy'
      get 'password-submitted' => 'passwords#submitted'
    end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...