web-dev-qa-db-fra.com

Obtenez une partie d'ancrage de l'URL dans le contrôleur In Ruby ON Rails

Existe-t-il un moyen d'obtenir la partie d'ancrage d'une URL dans un contrôleur?

Exemple: Si je tape http://www.foo.com/bar#anchor12 Puis-je obtenir la chaîne anchor123 dans mon contrôleur?

42
Pioz

Vous ne pouvez pas faire cela dans les rails, car l'ancre n'est pas envoyée au serveur. Voir Mikeduncan.com/?s=named+Randors =

44
True Soft

Non Désolé, il n'est pas possible de récupérer le #anchor du côté serveur (dans n'importe quelle langue).

Il s'agit d'un drapeau côté client pour dire au navigateur de passer à une position spécifique de la page.

Mais vous pouvez utiliser quelques javascript dans le corps pour vérifier une ancre et le renvoyer au serveur à l'aide d'un appel AJAX ...

var anchor_value;
var stripped_url = document.location.toString().split("#");
if (stripped_url.length > 1)
  anchor_value = stripped_url[1];
33
Nicolas Blanco