【发布时间】:2011-08-24 10:44:07
【问题描述】:
我使用 Rails 3.1、Devise 和 Omniauth。
问题是当 facebook 回调我的应用程序时
网址以#_ 结尾。然后在回调动作的时候
我重定向到某些东西 - 例如/after_signin
重定向结果为/after_signin#_。
知道如何从 URL 中删除此锚点吗?
编辑: 我在回调函数中放了什么并不重要。 甚至是简单的重定向:
class Users::OmniauthCallbacksController < ApplicationController
def facebook
redirect_to "/after_callback"
end
end
这将导致转到/after_callback#_
即使在普通控制器中,如果您转到 /#_ 并且您有一些重定向
它将被重定向到指定的路径,并在末尾附加#_。
编辑2: 我刚刚发现保留锚点是浏览器的错误。所以它必须是 在前端处理。
【问题讨论】:
-
请出示您的回调函数代码。
-
这很奇怪。为什么哈希值会通过?也许试试
redirect_to "/after_callback", :anchor => ''? -
@ben 刚刚发现保留锚点实际上是浏览器故障(Chrome 和 Firefox 会这样做,Safari 不会)。这对我来说也很奇怪。
-
这已经在上一个问题中讨论过:facebook.stackoverflow.com/questions/7131909/…
标签: ruby-on-rails facebook devise omniauth