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: 我刚发现浏览器故障来保留锚点。所以必须在前端处理 。
答
如果您确信它是一个浏览器问题,那么您可以使用JavaScript来更新window
的对象的hash
部分。也许像这样:
if (window.location.hash.search('#_') >= 0) {
window.location.hash = '';
}
请显示您的回调函数的代码。 –
@本·李:这里你去 –
这只是奇怪。为什么散列值会通过?也许尝试'redirect_to“/ after_callback”,:anchor =>'''? –