2015-02-26 2 views
0

Я пытаюсь добавить приложение к задаче Асаны.Asana Api Rails Attachment

Мой JSON тело запроса выглядит следующим образом:

request_body = { 
    "data" => { 
    "file" => "@#{attachment.tempfile}" 
    } 
} 

я получаю этот выход на POST:

error: file: File is not an object 

"прикрепление" переменная является регулярные рельсы образуют вложение.

Любые идеи?

----- EDIT -----

Для тех, кто смотрит в будущее, я понял это, используя камень Фарадея. Вот код, который я использовал:

connection = Faraday.new(:url => @uri) do |conn| 
    conn.response :logger     
    conn.request :multipart 
    conn.request :url_encoded 
    conn.basic_auth(@api_key, '') 
    conn.adapter :net_http 
end 

payload = { :file => Faraday::UploadIO.new(file, file_type) } 
response = connection.post(@uri, payload) 
return response 

ответ

1

Ах, это на самом деле один случай, если вы не можете использовать JSON - вы должны сделать форму закодированных загрузок, в противном случае вы просто пытаетесь установить «файл» параметр в строку «@ tmpfile.txt» (или что у вас есть).

Я не знаком с рельсами, но реальный вопрос здесь заключается в том, «как отправить файл с Rails» - конечная точка Asana работает точно так же, как и все остальные загрузки форм.

+0

Awesome! Спасибо за направление. Я понял. – knoble

Смежные вопросы