Разработать переадресацию переопределения после отправки формы - PullRequest
3 голосов
/ 29 января 2011

Как настроить приложение Rails таким образом, чтобы после отправки формы для создания нового пользователя (с помощью устройства) я перенаправлял на свою нужную страницу?

Спасибо

1 Ответ

7 голосов
/ 30 января 2011

После отправки формы создания пользователя пользователь создается и затем входит в систему, поэтому страница, на которую вы перенаправляетесь, фактически является страницей после входа в систему.Если вы хотите изменить эту страницу только при создании пользователя, вы можете установить session["#{resource_name}_return_to"] в пользовательском контроллере регистрации, например так:

class Users::RegistrationsController < Devise::RegistrationsController
  def create
    session["#{resource_name}_return_to"] = some_custom_path
    super
  end
end 

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

match "user_root" => "users#home"

Наконец, вы можете определить метод after_sign_in_path_for(resource_or_scope) в вашем application_controller, и это позволит вам условно перенаправлять пользователей:

def after_sign_in_path_for(resource_or_scope)
  if resource_or_scope.is_a?(User)
    some_custom_path    
  else
    super
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...