Rails表单根据日期编辑API调用

时间:2017-03-15 22:44:42

标签: ruby-on-rails json api ruby-on-rails-5 form-for

我正在尝试构建一个允许用户编辑搜索日期的API调用的表单。这个想法是允许一个人通过调用NASA的一个API在给定的时间窗口中搜索近地小行星。不知道从哪里开始想出这个。

这是我模特中的电话。你可以看到start_date和end_date,`我想根据用户信息编辑

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"] %> 

我想在收集用户的日期选择后显示的视图

define( ‘WPCACHEHOME’, ‘/home/USERNAME/public_html/wp/wp-content/plugins/wp-super-cache/’ ); //Added by WP-Cache Manager

以下是查看数据方式的链接:https://api.nasa.gov/neo/rest/v1/feed?start_date=2017-03-15&end_date=2017-03-15&api_key=DEMO_KEY

2 个答案:

答案 0 :(得分: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>

或者使用其中两个来创建要搜索的日期范围,方法是添加另一个日期输入。 然后从中获取输入以通过API调用发送。对不起,我无法帮助你从你的电话输入中提取数据,我用JS写了(暂时)。

答案 1 :(得分: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 %>