我有一个场景,我正在通过 app.rb 中的 Typhoeus 在 Sinatra 中发帖。它看起来像这样:
post "/send-data" do
...
request = Typhoeus::Request.new("http://localhost:4000/renders",
:method => :post,
:headers => { :Accept => "text/html" },
:followlocation => true,
:timeout => 100, # milliseconds
:params => params )
# Run the request via Hydra.
hydra = Typhoeus::Hydra.new
hydra.queue(request)
hydra.run
...
end
当我成功发布到“发送数据”Typhoeus 时,它会发布并将用户推送到创建记录的视图 (http://localhost:4000/renders/34634646464),这是一个 rails 应用程序。
问题是用户永远不会被重定向到 /send-data,因此如果您刷新页面,它会尝试再次发布。我想这是有道理的,但我真的需要将用户重定向到记录的最终(url)位置。换句话说,可以看到新记录,但这种重定向方法实际上并没有将用户移出 sinatra 应用程序。
处理这个问题的最佳方法是什么?我唯一能想到的就是不使用“followlocation”,而是让 /send-data 控制器操作在从 Typhoeus 获得响应位置后进行重定向。