Get anchor part of URL in controller in Ruby on Ra

2019-01-11 01:03发布

问题:

Is there a way to get the anchor part of a URL in a controller?

Example: if I type http://www.foo.com/bar#anchor123 can I get the string anchor123 in my controller?

回答1:

You can't do that in Rails, because the anchor is not sent to the server. See mikeduncan.com/?s=named+anchors



回答2:

No sorry, it's not possible to retrieve the #anchor from the server-side (in any language).

This is a client-side flag to tell the browser to move to a specific position in the page.

But you can use some Javascript in the body to check for an anchor and send it back to the server using an Ajax-call...

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