我是红宝石的新手。
在我的路线中,
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"}
答案 0 :(得分:0)
如果令牌是作为哈希发送的(就像您在问题中显示的那样),那么服务器无法知道它,因为它从未发送到浏览器,它仅用于javascript使用方法location.hash
如果你真的想要那么你需要javascript通过它自己,在ajax请求或其他东西发送到服务器。