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

时间:2015-04-03 08:46:46

标签: ruby-on-rails ruby uri access-token

我是红宝石的新手。

在我的路线中,

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中以及从哪个参数获取此Access令牌?

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

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

1 个答案:

答案 0 :(得分:0)

如果令牌是作为哈希发送的(就像您在问题中显示的那样),那么服务器无法知道它,因为它从未发送到浏览器,它仅用于javascript使用方法location.hash

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