2010-10-16 35 views
0

J'utilise le plug-in d'authentification reposant sur des rails et j'ai besoin de sauter l'autorisation et connecter l'utilisateur immédiatement ... Comment cela peut-il être faitComment ignorer l'activation dans les rails?

Toutes les idées seraient très appréciés

Répondre

1

Si je me souviens bien , vous pouvez installer l'authentification reposée sans exigence d'activation. Pour ce faire, il suffit de faire:

script/generate authenticated user sessions 

Toutefois, si vous avez besoin d'activation, vous faites:

script/generate authenticated user sessions --include-activation 

et le code ActionMailer est créé.

Donc, la première direction que vous pouvez aller est simplement de ne demander aucun mécanisme d'activation en premier lieu. Si vous avez besoin d'activation, mais que vous ne voulez l'éviter que dans certaines circonstances, vous devez comprendre comment fonctionne l'activation. Je recommande vraiment de lire le code ici, mais c'est assez basique. Il y a une colonne appelée activated et si c'est vrai, alors l'utilisateur est activé. En théorie, vous pouvez simplement le définir sur true et continuer.

La connexion de l'utilisateur est également quelque chose que vous pouvez rechercher dans le code. La méthode la plus simple consiste à définir session[:current_user] sur l'ID de l'utilisateur que vous venez de créer.

Et ... d'écrire les tests en premier. Quand les tests réussissent, alors vous savez que vous avez la bonne solution :)

0

Ecrivez une méthode d'activation dans after_create callback. Le code dépend de votre gem/plugin. Dans la plupart des gemmes ce sera comme user.activate. Ou créez votre méthode personnalisée, annulez le code d'activation, mettez à jour le activate_at à l'heure et appelez cette méthode dans after_create callback.