Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails用html重定向,用js响应_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails用html重定向,用js响应

Ruby on rails Rails用html重定向,用js响应,ruby-on-rails,Ruby On Rails,我知道以前有人以不同的方式问过这个问题,但在我的例子中,我回顾了许多答案,但似乎什么都不起作用。我的情况很简单: 我正在调用https://www.facebook.com/v4.0/dialog/oauth?...重定向到/auth,这是一个GET。它返回一个代码,我使用该代码检索访问令牌 我添加了一个auth.js.erb,它应该会打开一个模式 非常基本 在存储了access_令牌之后,我想重定向到用户配置文件,并用JS打开一个模式,向用户显示更多信息 由于某种原因,我的JS在Respons

我知道以前有人以不同的方式问过这个问题,但在我的例子中,我回顾了许多答案,但似乎什么都不起作用。我的情况很简单:

我正在调用
https://www.facebook.com/v4.0/dialog/oauth?...
重定向到
/auth
,这是一个
GET
。它返回一个代码,我使用该代码检索访问令牌

我添加了一个
auth.js.erb
,它应该会打开一个模式

非常基本

在存储了access_令牌之后,我想重定向到用户配置文件,并用JS打开一个模式,向用户显示更多信息

由于某种原因,我的JS在Response_to中从未执行过

以下是我的简单代码:

def auth
    response = RestClient.post(
        "https://graph.facebook.com/v4.0/oauth/access_token",
        {
            grant_type: "authorization_code",
            code: authorization_code,
            ...
        }
    )
    ...

    respond_to do |format|
        format.html {redirect_to edit_user_registration_path} # This works
        format.js # Never gets executed
    end
end

有什么想法吗?

您可能需要在url中指定格式。试过这个吗

yoursite.com/auth.js


这可能取决于您的路径,如果您是通过浏览器url或ajax等进行访问。

不起作用。format=js继续处理,因为HTML和.js导致RequestForgeryProtection。我将根据一些条件调用重定向页面html中的操作。不理想。
yoursite.com/auth?format=js