2011-02-12 2 views
0

Je voudrais avoir accès aux informations utilisateur dans l'itinéraire d'invitation/d'acceptation. Quand je vais à la forme et l'utilisationrails gem Devise Invitable accept view question

il ne sera pas afficher l'utilisateur. Il semble également qu'il ne charge pas l'utilisateur pendant l'acceptation. Existe-t-il un moyen facile de montrer à l'utilisateur des informations sur l'invitation?

+0

Je n'ai aucune idée de ce que "Devise Invitable" pourrait signifier. – Gabe

Répondre

0

Je peux penser à deux options:

  1. Vous pouvez remplacer le contrôleur invitable concevoir, voir: Anyone have experience with devise_invitable?

  2. Dans mon cas, je voulais passer le nom de la personne invitante. J'ajoute un attribut entier 'invitor' à la classe User.

    • C'est l'identifiant de la personne invitante. N'oubliez pas d'ajouter 'invitor' comme attr_accessible dans le modèle.
    • J'avais déjà un attribut de chaîne 'name' dans la classe User.
    • Dans l'application/views/{users | devise} ​​/invitations/new.html.erb (le chemin peut varier en fonction de la façon dont vous avez généré les vues) ajoutez un champ de formulaire masqué avec l'utilisateur connecté (invitor):

    ... <% = f.text_field: invitante,: valeur => current_user.id,: caché => true%> ...

    • Dans l'application du texte email/vues/{utilisateurs j'invente} /mailer/invitation.html.erb Je peux me référer à l'invitor:

    ... <% = (User.find @ resource.invitor) .name%> vous a invité à <% = root_url%>, vous pouvez l'accepter via le lien ci-dessous ....

Non pas élégant, mais ça marche. Les améliorations qui survivent aux mises à jour de la gemme devise_invitable sont les bienvenues.