我正在使用Rails api only应用程序。轨道5和红宝石2.4
我的要求是我提出了一个更新请求,该请求会将文件发送到第三方api。我正在使用邮递员发出请求。
我同样使用Httparty宝石。
我的参数在下面
<ActionController::Parameters {"identity_kyc_doc_1"=>#<ActionDispatch::Http::UploadedFile:0x007fed5d113b48 @tempfile=#<Tempfile:/var/folders/95/z56d5kd10_sb7s82b982fpjw0000gn/T/RackMultipart20180625-2016-1l5rgbn.jpeg>, @original_filename="test1.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"identity_kyc_doc_1\"; filename=\"test1.jpeg\"\r\nContent-Type: image/jpeg\r\n">, "controller"=>"simplex", "action"=>"update_kyc"} permitted: true>
和控制器代码在下面调用服务和服务动作。
def update_request method, opts ={}
headers = set_request_header
post_data = opts#encode_options opts
byebug
url = @base_uri + url_path(method)
r = self.class.put(url, { headers: headers, body: post_data }).parsed_response
r['error'].empty? ? r['result'] : r['error']
end
,即时消息低于错误。使用byebug捕获错误。
(byebug) r = self.class.put(url, { headers: headers, body: post_data })
*** NoMethodError Exception: undefined method `flat_map' for #<ActionController::Parameters:0x007fed5d111b90>
我在网上某处看到httparty没有上传文件。那怎么办?
我尝试通过rest-client gem使用RestClient。但是我对其余的客户端gem却报错了。
Completed 500 Internal Server Error in 1934ms (ActiveRecord: 0.0ms)
RestClient::NotFound (404 Not Found):
我已经安装了gem,并且还为gem添加了require声明。到目前为止没有运气。
感谢您的帮助。 谢谢