2010-12-09 34 views
0

J'ai une relation HABTM entre les utilisateurs et les canaux, où l'utilisateur est abonné au canal. Je souhaite afficher un "lien de désabonnement" si l'utilisateur est déjà abonné à la chaîne. Comment tester si l'utilisateur fait partie de channel.users?Rails relation Question

Répondre

1

essayer d'appeler:

channel.users.include? user 

pour l'utilisateur que vous souhaitez tester. Voir le Ruby documentation on Arrays pour plus d'informations. Bonne chance!

+0

J'utilisé <% link_to "Se désabonner", '#' si @ channel.users.include? current_user%> mais le lien ne s'affiche pas bien que l'utilisateur actuel soit là –

+0

vous devrez envelopper l'extrait link_to erb dans un bloc, comme ceci: '<% if @ channel.users.include? current_user%><% link_to "Désinscription", unsubscribe_path%><% end %> 'avec des sauts de ligne, bien sûr. –

+0

je l'ai compris, j'ai utilisé <% au lieu de <% =, merci –

1

Il y a probablement quelques différentes façons de faire, mais est ici simple:

@user.channels.include? @channel 

=> true/false