前提・実現したいこと
Rubyで外部APIを使用し、配達の集荷状況が確認出来るWebアプリを作っています。
APIを連携出来たものの、Viewだと無効なAPI
と表示されてしまい、どこをどのように直したら良いのか分かりません。コードの編集方法および外部APIの実装方法が誤っている場合、そちらを教えていただきたいです。
- 使用している外部API:Tracking more
- コードを書いた上で参考にしたページ
発生している問題・エラーメッセージ
- index画面(検索画面)
- show画面(集荷状況の確認結果画面)
該当のソースコード
- collecting-status_controller.rb
class CollectingStatusController < ActionController::Base class Trackingmore require 'uri' require 'net/http' require 'net/https' require 'json' def tracker(url,postData,method) headers ={'Content-Type' =>'application/json','Trackingmore-Api-Key':'my api key'} if postData.empty? @toSend ="" else @toSend =postData.to_json end uri = URI.parse(url) https = Net::HTTP.new(uri.host,uri.port) if method =="GET" req = Net::HTTP::Get.new(uri.path,headers) elsif method =="POST" req = Net::HTTP::Post.new(uri.path,headers) elsif method =="PUT" req = Net::HTTP::Put.new(uri.path,headers) elsif method =="DELETE" req = Net::HTTP::Delete.new(uri.path,headers) else puts "parameter method is wrong!" end req.body = "#{@toSend}" res = https.request(req) return res end end end
- index.html.erb
<!-- [1] classとactionを変更します --> <form class="index" action="https://api.trackingmore.com/v2" method="post"> <div class="container"> <div class="flex space-between"> <div class="articlesNews-leftContent"> <div class="article-MainBlock"> <form action="/connpass_clients" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓"> <div class="flex"> <div class="p-t-b-5">伝票番号</div> <div><input type="text" name="form_words" id="form_words" placeholder="東京都 プログラミング"></div> </div> <div class="text-10">スペース カンマで複数検索可</div> <div class="flex m-t-b-30"> <div>配達日時</div> <div><select id="start_date_year" name="start_date[year]"> <option value="2017">2017</option> <option value="2018" selected="selected">2018</option> <option value="2019">2019</option> </select> <select id="start_date_month" name="start_date[month]"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9" selected="selected">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select> <input type="hidden" id="start_date_day" name="start_date[day]" value="1"> </div> <div>~</div> <div><select id="end_date_year" name="end_date[year]"> <option value="2017">2017</option> <option value="2018" selected="selected">2018</option> <option value="2019">2019</option> </select> <select id="end_date_month" name="end_date[month]"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9" selected="selected">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select> <input type="hidden" id="end_date_day" name="end_date[day]" value="1"> </div> </div><input type="submit" name="commit" value="Search">
補足情報(FW/ツールのバージョンなど)
ruby ver
2.3.3p222 (2016-11-21 revision 56859)
Rails ver
Rails 5.1.6
あなたの回答
tips
プレビュー