API への POST クエリを介したファイルのアップロードに form_tag を使用すると問題が発生します。私が使用する場合:
= form_tag("http://myapi.com/api/images/user/#{@user_id}", multipart: true) do
= file_field_tag 'upload'
= submit_tag 'Upload avatar'
悩みはありません。しかし、update_avatar のアクションを使用しようとすると、問題が発生します。
= form_tag({:action => 'upload_avatar'}, multipart: true) do
= file_field_tag 'upload'
= submit_tag 'Upload avatar'
update_avatar アクション コード:
def upload_avatar
@user_id = params[:id]
@post_params = {'upload' => params[:upload]}
response, data = Net::HTTP.post_form(URI.parse("http://myapi.com/api/images/user/#{@user_id}"), @post_params)
redirect_to users_path
end
応答は次のとおりです。
#<Net::HTTPInternalServerError:0x007f331486f4e0>
データは: nil