Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 为什么rails不显示我的API调用结果?_Html_Ruby On Rails_Ruby_Httparty - Fatal编程技术网

Html 为什么rails不显示我的API调用结果?

Html 为什么rails不显示我的API调用结果?,html,ruby-on-rails,ruby,httparty,Html,Ruby On Rails,Ruby,Httparty,我是RubyonRails的新手,我正在创建一个简单的文章搜索应用程序,它将使用Guardian API并只显示新闻标题。 我制作了一个简单的视图、控制器和一个调用外部API的类,但是结果没有显示在我的页面上,我感到困惑。它只需要这样做:用户进入页面,填写搜索表单并查看新闻标题。我正在使用httpartygem API消费者类别: app/clients/guardian_api_client.rb 类GuardianApiClient 包括HTTParty API_KEY=ENV['GUARD

我是RubyonRails的新手,我正在创建一个简单的文章搜索应用程序,它将使用Guardian API并只显示新闻标题。 我制作了一个简单的视图、控制器和一个调用外部API的类,但是结果没有显示在我的页面上,我感到困惑。它只需要这样做:用户进入页面,填写搜索表单并查看新闻标题。我正在使用httpartygem

API消费者类别:

app/clients/guardian_api_client.rb 类GuardianApiClient 包括HTTParty API_KEY=ENV['GUARDIAN_CONTENT_API_KEY'] 基本URL=https://content.guardianapis.com/search? API_PARTIAL_URL=API key={API_key} def查询 request=HTTParty.getBASE_URL+q={q}&api key={api_key} 提出请求 终止 终止 控制器:

类SearchController<应用程序控制器 def搜索 @app=GuardianApiClient.new @结果=@app.queryparams[:q] 终止 终止 视图:

还没有结果

路线:

Rails.application.routes.draw do 获取“/search”=>“searchsearch” 发布“/search”=>“searchsearch” 终止
在API客户端中,使用puts打印结果:

puts返回nil,因此控制器不获取结果。您需要从查询方法返回请求:


ruby返回方法中最后一次调用的结果。

谢谢!结果现在显示在页面上,但是,这是一个庞大的哈希数组,而不仅仅是文章的标题。有没有简单的方法只显示标题?您需要选择它们。问另一个问题,并将显示的内容粘贴在此处。我将请求结果粘贴在这篇文章中:
  def query(q)
      request = HTTParty.get(BASE_URL+"q=#{q}&""api-key=#{API_KEY}")
      puts request
  end
  def query(q)
      request = HTTParty.get(BASE_URL+"q=#{q}&""api-key=#{API_KEY}")
      puts request
      request
  end