неопределенный метод `request_uri 'ошибка при использовании Rest Client - при попытке удалить с помощью Facebook Graph - PullRequest
1 голос
/ 10 апреля 2011

Я могу попытаться использовать Rest Client для удаления объекта с помощью Facebook Graph .

def delete_object
    temp = url_escape('https://graph.facebook.com/'+request_id+'?access_token='+token)
    p "temp is"
    p temp
    delete_attempt = RestClient.delete temp
end

private

def url_escape(string)
    string.gsub(/([^ a-zA-Z0-9_.-]+)/n) do
        '%' + $1.unpack('H2' * $1.size).join('%').upcase
    end.tr(' ', '+')
end

Консольный вывод:

temp is
"https%3A%2F%2Fgraph.facebook.com%2Fobject_id_here%3Faccess_token%3Daccess_token_here"

object_id_here & access_token_here используется здесь в качестве заполнителей, значения верны.

Я получаю эту ошибку:

undefined method `request_uri' for #<URI::Generic:0x00000104385a40>
/Users/ben/.rvm/gems/ruby-1.9.2-p0/gems/rest-client-1.6.1/lib/restclient/request.rb:60:in `execute'\n/
Users/ben/.rvm/gems/ruby-1.9.2-p0/gems/rest-client-1.6.1/lib/restclient/request.rb:31:in `execute'\n/
Users/ben/.rvm/gems/ruby-1.9.2-p0/gems/rest-client-1.6.1/lib/restclient.rb:80

Строка 60 в request.rb это строка transmit uri... в этом методе в Rest Client:

def execute & block
    uri = parse_url_with_auth(url)
    transmit uri, net_http_request_class(method).new(uri.request_uri, processed_headers), payload, & block
end

Что вызывает эту ошибку?

...