Как пропустить активацию в рельсах? - PullRequest
0 голосов
/ 16 октября 2010

Я использую плагин restful для аутентификации в rails, и мне нужно пропустить авторизацию и сразу войти в систему ... Как это можно сделать

Любые идеи будут высоко оценены

Ответы [ 2 ]

1 голос
/ 16 октября 2010

Если я правильно помню, вы можете установить Restful Authentication без требования активации.Чтобы сделать это, просто сделайте:

script/generate authenticated user sessions

Если, однако, вам нужна активация, вы делаете:

script/generate authenticated user sessions --include-activation

и код ActionMailer создан.

Итак, первое направление, по которому вы можете пойти, - это просто не запрашивать какой-либо механизм активации.Если вам нужна активация, но вы хотите избежать ее только при определенных обстоятельствах, вам необходимо понять, как работает активация.Я действительно рекомендую прочитать код здесь, но он довольно простой.Существует столбец с именем activated, и если это правда, то пользователь активирован.Теоретически, вы можете просто установить его в true и идти вперед.

Регистрация пользователя - это то, что вы можете посмотреть в коде.Самый простой способ сделать это - установить session[:current_user] для идентификатора только что созданного пользователя.

И ... сначала писать тесты.Когда испытания пройдут, вы поймете, что нашли правильное решение:)

0 голосов
/ 16 октября 2010

Запишите метод активации в обратном вызове after_create.Код зависит от вашего гема / плагина.В большинстве драгоценных камней это будет похоже на user.activate .Или создайте свой пользовательский метод, обнулите код активации, обновите activ_at за раз и вызовите этот метод в обратном вызове after_create.

...