2017-03-15 3 views
0

ユーザーが検索日のAPI呼び出しを編集できるようにするためのフォームを作成しようとしています。 NASAのAPIの1つを呼び出すことで、人が特定の時間帯に近い地球の小惑星を探索できるようにすることです。これを理解するためにどこから始めるべきかはわかりません。日付に基づいてAPI呼び出しを編集するためのレールフォーム

ここは私のモデルの呼び出しです。あなたは、私がユーザ情報に基づいて編集したいSTART_DATEとEND_DATEを、 `見ることができます

class Astroid < ApplicationRecord 

def self.get_api_info 
    astroid = "https://api.nasa.gov/neo/rest/v1/feed?start_date=2017-03-15&end_date=2017-03-15&api_key=*****"                        
    request_to_astroid = Net::HTTP.get(URI(astroid)) 
    JSON.parse request_to_astroid 

end 

終わりここ

私の非常にシンプルなコントローラーがある

def index 
@astroid_info = AstroidApi.get_api_info 

エンド

とビューユーザーの日付選択を収集した後に表示したい

<%= @astroid_info['near_earth_objects']["2017-03-15"][1]["close_approach_data"][0]["close_approach_date"]%> an astroid named <%= @astroid_info ['near_earth_objects']["2017-03-15"][1]["name"] %> missed us by: <%= @astroid_info ['near_earth_objects']["2017-03-15"][0]["close_approach_data"][0]["miss_distance"]["miles"] %> 

ここではデータが与えられているかを確認するためのリンクです:https://api.nasa.gov/neo/rest/v1/feed?start_date=2017-03-15&end_date=2017-03-15&api_key=DEMO_KEY

+0

私の最初の考えは、ユーザー入力から移入変数とSTART_DATEとEND_DATEを交換することです。私はこの情報を得た後にモデルを正常に編集する方法がわからないので、これが最善の方法であるかどうかは分かりません –

答えて

0

私はRubyやRailsのに非常に慣れていないよバット右と言うだろう。しかし、私はあなたをある方向に導くか、あなたの考えを確認しようとするかもしれません。 APIコールを作成すると、コールで送信するデータを決める機会があります。ユーザーが選択できる日付のフォームを作成することで、そのフォームの入力値をプルして呼び出して送信することができます。

<form action="/action_page.php"> 
    <label for="date-selection">Date:</label> 
    <input type="date" name="date-selection"> 
    <button type="submit">Submit</button> 
</form> 

するか、別の日付入力を追加することで、検索する日付範囲を作成するために、これらのうちの2つを使用します。

あなたは、このようなのような日付ピッカーの入力を使用することができます。 これから入力を取得し、API呼び出しで送信します。申し訳ありませんが、私はあなたの呼び出しのための入力からデータを引き出すことができません、私はJSで(当面)書く。

0

コントローラー:

@start_date = params[:start_date] 
@end_date = params[:end_date] 
@astroid_info = Astroid.get_api_info["element_count"] 
@astroid_date = Astroid.get_api_info["near_earth_objects"] 

ビュー:

<%= form_tag searchApi_path, method: "get", html: { class: "form" } do %> 
<div class="form-group col-sm-6 col-md-offset-3"> 
<%= text_field_tag(:start_date, "", placeholder: "Enter date", class: "form-control") %> 
<%= text_field_tag(:end_date, "", placeholder: "Enter date", class: "form-control") %> 
</div> 

<div class= 'container'> 
<%= submit_tag "Search", class: "btn btn-success" %> 
<% end %> 
関連する問題