使用 ruby 在 URL 中获取附加值?

Getting appended values in URL using ruby?

我是 ruby 的新手。

在我的路线中,

match "path/:provider/callback" => 'Example#sample'

我有一个名为 ExamplesController 的 ruby 控制器。它的代码是,

class ExamplesController < ApplicationController 
def sample
   binding.pry     
   render "/sample/applications/callback" and return    
 end

来自 Microsoft live 的应用正在向此控制器发送访问令牌,例如

http://localhost:3000/path/onedrive/callback#access_token={access_token}.

我的问题是如何以编程方式在 ruby 中以及从什么参数获取此访问令牌?

注意:我已经使用了binding.pry并检查了params的值。这是

{"controller"=>"examples", "action"=>"sample", "provider"=>"onedrive"} 

如果令牌以散列形式发送(就像您在问题中显示的那样),那么服务器不可能知道它,因为它从未发送到浏览器,它仅用于 javascript来使用,使用方法location.hash

如果你真的想要那么你需要javascript通过ajax请求或其他方式将它自己发送到服务器。