2010-10-03 2 views
1

Actuellement mes liens dans Rails utilisent link_to comme suit:Rails 3 - Utilisation link_to, mais en ajoutant un # pour AJAX liens profonds

<%= link_to project.name, project %> 

Ce qui fait quelque chose comme: <a href="/projects/1">Project 1</a>

Je travaille à mettre en œuvre une application AJAX avec un lien profond donc au lieu de ce qui précède, je veux que la sortie soit (avec un #): <a href="#/projects/1">Project 1</a>

Y at-il un moyen de faire fonctionner cela avec link_to? Ou dois-je besoin d'un certain type d'aide personnalisée pour que je puisse utiliser quelque chose comme link_deep_to

Merci

Répondre

2

Je recommande au lieu de <a href="#/projects/1">Project 1</a> avoir

<a href="/projects/1" class="deep_linker">Project 1</a> 

Et puis utilisez jQuery pour attacher à tous les liens avec la classe de deep_linker. De cette façon, votre javascript est discret.

+0

Hmm c'est intéressant ... Qu'est-ce qui ne va pas dans Rails? En outre, ce ne sera pas un énorme coup de performance sur le navigateur du client? – AnApprentice

+1

Non, vous ne remarquerez pas l'appel de jQuery pour sélectionner "a.deep_linker", puis attacher à son événement click. Il n'y a rien de "mal" à faire ce que vous avez dit, mais cela garantit qu'il ne fonctionnera pas dans un environnement non-ajax. –

+0

Tirez. donc j'utilise jQuery BBQ pour la liaison profonde et cela ne fonctionnera pas bien avec ce plugin .... donc des solutions pour faire un link_deep_to dans les rails? Alors type d'aide? Je suis d'accord que ce n'est pas bon pour env non-ajax, mais je connais très peu de ceux-ci. Et mon application ne doit pas être explorée par google. Je ne veux pas trop construire trop tôt? – AnApprentice

Questions connexes