У меня есть крючок на моем webapp, который перенаправляет пользователя на страницу профиля редактирования при первом входе/регистрации.Route.go() при создании счета не работает (METEOR)
Это выглядит немного как это:
Accounts.onCreateUser (опции, пользователь) -> если options.profile
options.profile.aboutMe = null
options.profile.email = null
options.instrumentsPlayed = null
options.instrumentsPlayedTemporary = null
Router.go('edit_form')
пользователь
Так он добавляет несколько полей к страницу профиля, и, предположительно, строка Router.go должна перенаправить пользователя на страницу edit_form. Я пробовал код без строки Router.go, и он работает правильно. Я запускаю это в файле сервера. Когда я пытаюсь войти в систему с помощью строки Router.go, она дает мне «внутреннюю ошибку сервера» и не входит в систему. Когда я запускаю ее без нее, она работает правильно, но явно не перенаправляет. Где проблема?
Я использую учетную запись для учетных записей-facebook, поэтому кнопка forlogin и регистрация одинаковы. Я только хочу, чтобы он перенаправлялся, как только новый пользователь был добавлен в базу данных, хотя ... Могу ли я сделать что-то подобное вместо этого? Установите переменную сеанса на стороне сервера, когда создается новая учетная запись, измените ее значение. Каждый раз, когда значение изменяется (это означает, что при первом входе в систему) перенаправление пользователя на страницу профиля редактирования (переменная сеанса может быть вызвана как на сервере, так и на клиенте, правильно?) – yimmy
Нет, сеанс существует только на клиенте. Вы можете добавить некоторый параметр в профиль, когда вы создаете пользователя, например, 'profile.firstLogin = true;' Когда функция 'Meteor.loginWithFacebook' в функции обратного вызова, если результат не имеет ошибок, перенаправляйтесь к пути'/edit_form'. И вы должны изменить этот параметр 'profile.firstLogin', когда пользователь закончит редактирование. – none