0

私はRestClientラッパーを構築しました

require 'json'
require 'rest_client'

$url_common_part = 'http://host:port/cgi-bin/cgi_script'

class Grabber
    def initialize
        @site = RestClient::Resource.new($url_common_part)
    end
    def post ( path, params )
        site_and_path = @site["#{path}"]
        payload = params.to_json
        puts "\n", payload
        response = site_and_path.post (
            payload,
            headers = {
                'MY-HEADER' => 'MY-VALUE',
                'content_type' => 'json',
                'accept' => 'json'
            }
        )
        return response
    end
end

get はうまく動作しますが、post でエラーが発生しますsyntax error, unexpected ',', expecting ')' (SyntaxError)

誰かが私が間違っていることを提案できますか?

4

1 に答える 1

0

問題は、投稿する呼び出しにあります:

response = site_and_path.post (
            payload,
            headers = {
                'MY-HEADER' => 'MY-VALUE',
                'content_type' => 'json',
                'accept' => 'json'
            }
        )

headers2 番目のパラメーターがハッシュ (ヘッダーを含めることができる) の場合に割り当てを行っています。

response = site_and_path.post (
            payload,
            headers: {
                'MY-HEADER' => 'MY-VALUE',
                'content_type' => 'json',
                'accept' => 'json'
            }
        )
于 2013-05-14T16:59:03.303 に答える