【发布时间】:2019-11-13 12:42:19
【问题描述】:
我对 ruby on rails 完全陌生,我正在创建一个简单的文章搜索应用程序,该应用程序将使用 Guardian API 并仅显示新闻标题。 我做了一个简单的视图、控制器和一个调用外部 API 的类,但结果没有显示在我的页面上,我很困惑。它只需要这样工作:用户进入页面,填写搜索表单并查看新闻标题。我正在使用 httparty gem。
API 消费者类:
#app/clients/guardian_api_client.rb
class GuardianApiClient
include HTTParty
API_KEY = ENV['GUARDIAN_CONTENT_API_KEY']
BASE_URL ="https://content.guardianapis.com/search?"
API_PARTIAL_URL = "api-key=#{API_KEY}"
def query(q)
request = HTTParty.get(BASE_URL+"q=#{q}&""api-key=#{API_KEY}")
puts request
end
end
控制器:
class SearchController < ApplicationController
def search
@app = GuardianApiClient.new
@results = @app.query(params[:q])
end
end
查看:
<%= form_with(url: '/search') do |f| %>
<%= f.text_field :q %>
<%= f.submit 'search' %>
<% end %>
<% if @results != nil %>
<ul>
<%= @results.each do |r| %>
<li><%= r["webTitle"] %></li>
<% end %>
</ul>
<% else %>
<p>No results yet</p>
<% end %>
路线:
Rails.application.routes.draw do
get '/search' => 'search#search'
post '/search' => 'search#search'
end
【问题讨论】:
标签: html ruby-on-rails ruby httparty