Facebook omniauth回调和#_

Pio*_*ski 7 facebook ruby-on-rails devise omniauth

我使用Rails 3.1,Devise和Omniauth.

问题是,当facebook回调到我的应用时,网址结束#_.然后,在回调操作中,我重定向到某个东西 - 例如/after_signin 重定向导致/after_signin#_.

知道如何从URL中删除此锚点吗?

编辑:我在回调函数中放入什么并不重要.即使是简单的重定向:

class Users::OmniauthCallbacksController < ApplicationController
  def facebook
    redirect_to "/after_callback"
  end
end
Run Code Online (Sandbox Code Playgroud)

它会导致去 /after_callback#_

即使在正常的控制器中,如果你去了/#_并且你有一些重定向,它将被重定向到指定的路径并#_在末尾添加.

EDIT2:我刚刚发现保留锚点是浏览器错误.所以它必须在前端处理.

Chr*_*itz 2

如果您确信这是浏览器问题,则可以使用 JavaScript 来更新's对象hash的部分。也许是这样的:windowlocation

if (window.location.hash.search('#_') >= 0) {
    window.location.hash = '';
}
Run Code Online (Sandbox Code Playgroud)