Rails 动作可以重定向 *with* JSON 负载吗?

Can Rails action redirect *with* JSON payload?

我有一个使用 url 参数重定向的 Rails 端点。

代码真的很简单:

def success_redirect
  redirect_to "#{success_url}/#{encoded_params}"
end

我的同事希望我可以进行相同的重定向,但将参数发送为 JSON。

这可以吗?不知何故,我找不到关于该主题的任何资源,这似乎很不寻常。

简答 - 不可能。

当您使用 redirect_to 时,Rails 将 status header 设置为 302 并将 location header 设置为您想要达到的 URL。然后,浏览器解释此响应并重定向您。

此外,对于 GET 请求,可以(IMO,不推荐)包含 body(您的 JSON 负载)。但是,不在 Rails.