Ruby を使用して、HTTP Put 呼び出しで渡されたパラメーターを取得するのに問題があります。「put_data」変数を見てください。ハッシュのままにしておくと、ルビーは次のように言います。
undefined method `bytesize' for #<Hash:0x007fbf41a109e8>
文字列に変換すると、次のようになります。
can't convert Net::HTTPUnauthorized into String
私も試してみました - '?token=wBsB16NSrfVDpZPoEpM'
def process_activation
uri = URI("http://localhost:3000/api/v1/activation/" + self.member_card_num)
Net::HTTP.start(uri.host, uri.port) do |http|
headers = {'Content-Type' => 'text/plain; charset=utf-8'}
put_data = {:token => "wBsB16NSrfVDpZPoEpM"}
response = http.send_request('PUT', uri.request_uri, put_data, headers)
result = JSON.parse(response)
end
if result['card']['state']['state'] == "active"
return true
else
return false
end
end
rubydocs を含め、あらゆる場所を検索しましたが、パラメーターをエンコードする方法の例が見つかりません。どんな助けでも大歓迎です。