Facebook omniauth回调和#_

Facebook omniauth回调和#_

问题描述:

我使用Rails 3.1,Devise和Omniauth。Facebook omniauth回调和#_

问题是,当我的应用程序的Facebook回调 url结尾#_。然后当在回调动作 我重定向到某些东西 - 例如/after_signin 重定向结果/after_signin#_

任何想法如何从URL中删除此锚?

编辑: 无论我把什么放在回调函数。 即使简单的重定向:

class Users::OmniauthCallbacksController < ApplicationController 
    def facebook 
    redirect_to "/after_callback" 
    end 
end 

这将导致即使在正常的控制器将/after_callback#_

如果你去/#_和你有一些重定向疗法 它会被重定向到指定的路径与#_附加最后。

EDIT2: 我刚发现浏览器故障来保留锚点。所以必须在前端处理 。

+0

请显示您的回调函数的代码。 –

+0

@本·李:这里你去 –

+0

这只是奇怪。为什么散列值会通过?也许尝试'redirect_to“/ after_callback”,:anchor =>'''? –

如果您确信它是一个浏览器问题,那么您可以使用JavaScript来更新window的对象的hash部分。也许像这样:

if (window.location.hash.search('#_') >= 0) { 
    window.location.hash = ''; 
}