Итак, я пытаюсь выполнить поиск по внешнему API (Nutrionix), и мне трудно понять, как отображать результаты.Отображение данных при поиске по внешнему API
я в настоящее время есть форма для поиска
<form action = "/foods" method = "get">
<div class = "field">
<input type = "text" name = "searched_value" alt = "Search Foods" />
</div>
<div class = "btn">
<input type = "submit" name ="btn" value = "Search Foods">
</div>
</form>
Тогда у меня есть в моем FoodsController:
class FoodsController < ApplicationController
require 'faraday'
require 'json'
def search
@searched_food = params[:searched_value].split(" ").join("%20")
@response_body = Faraday.get("https://api.nutritionix.com/v1_1/search/#{@searched_value}?format=json?fields=item_name%2Citem_id%2Cbrand_name%2Cnf_calories%2Cnf_total_fat&appId=[MYAPPID]&appKey=[MYAPPKEY]").body
@parsed_response = JSON.load(@response_body)
end
end
Мои соответствующие маршруты:
Rails.application.routes.draw do
get 'food_form' => 'foods#food_form'
get 'foods' => 'foods#foods'
get 'search' => 'foods#search'
end
Затем он просто возвращается к страницу, которая ссылается на страницу «добавить продукты», где я сейчас просто пытаюсь найти материал, чтобы я появился :
<div class = "description">
<%= link_to "Add foods", food_form_path %>
<%= @parsed_response%>
<%= @response_body%>
<%= @searched_food %>
</div>
В настоящее время я ничего не имею для своих результатов, так как появляется только ссылка на форму. Однако, когда я просто помещаю информацию о контроллере на страницу html, я могу видеть результаты, и если я сам перейду к ссылке nutrionix, я получаю результаты.
Помощь была бы очень признательна. :)
В чем проблема? Форма поиска никогда не срабатывала? – Pavan
Форма поиска, похоже, не дает результатов, хотя если я просто покажу данные непосредственно на странице, которую я имею в контроллере, появятся данные. Я не уверен, как заставить данные появляться на странице после ее поиска. @Pavan – Nerl