Разработка на Rails 3: Как переопределить сообщение, полученное пользователем, вошедшим в систему при попытке зарегистрироваться? - PullRequest
2 голосов
/ 01 февраля 2011

Ситуация следующая, используя Devise и Rails 3

  • Регистрация пользователя
  • После успешной отправки формы регистрации Devise регистрирует ее, перенаправляет (на домашнюю страницу в моем случае) и показывает пользовательское сообщение (в application_controller.rb)

    def after_sign_in_path_for(resource_or_scope)
    
      flash[:notice] = "Hi " + current_user.username + " , you're now signed in."
    
      super
    
    end
    
  • Затем пользователь пытается зарегистрироваться снова. В этом случае форма регистрации не отображается, пользователь перенаправляется на домашнюю страницу и отображается то же сообщение.

Как настроить разные сообщения в двух вышеописанных случаях?

1 Ответ

1 голос
/ 03 февраля 2011

Хорошо, я выяснил следующее:

  • Это поведение вызвано контроллером регистрации, у которого есть prepend_before_filter, который запускает вызов require_no_authentication.Require_no_authentication просто перенаправляет на root_url, если пользователь вошел в систему

  • Существует открытая заявка на github, так как переопределить метод довольно сложно (см. Здесь: Разработка проблем

  • Тем не менее, как отметил Хосе Валим на той же странице, нет особого смысла показывать зарегистрированному пользователю ссылку для регистрации ... I 'Я изменю интерфейс моего приложения, чтобы скрыть ссылку регистрации, если пользователь вошел в систему.

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