从第三方API将内容输出到rails网站

时间:2017-01-23 15:07:38

标签: ruby-on-rails ruby httparty

我正在使用HTTParty Gem访问来自第三方API的数据。

我已设置模型以成功检索/解析来自其他网站的数据。

我不知道:控制器中需要哪些代码才能让我在视图(最终是网站)中显示内容。

以下是名为representatives.rb

的模型文件的代码
require 'rubygems'
require 'httparty'

class Representative < ApplicationRecord

include HTTParty
    base_uri 'whoismyrepresentative.com'
    default_params :output => 'json'
    format :json


  def self.find_by_zip(zip)
    get('/getall_mems.php', :query => {:zip => zip})
  end

end

puts Representative.find_by_zip(92651).inspect

以下是我的Json成绩:

<HTTParty::Response:0x7fa591c4a778 parsed_response={"results"=>[{"name"=>"Dana Rohrabacher", "party"=>"R", "state"=>"CA", "district"=>"48", "phone"=>"202-225-2415", "office"=>"2300 Rayburn House Office Building", "link"=>"http://rohrabacher.house.gov"}, {"name"=>"Darrell Issa", "party"=>"R", "state"=>"CA", "district"=>"49", "phone"=>"202-225-3906", "office"=>"2269 Rayburn House Office Building", "link"=>"http://issa.house.gov"}, {"name"=>"Barbara Boxer", "party"=>"D", "state"=>"CA", "district"=>"Junior Seat", "phone"=>"202-224-3553", "office"=>"112 Hart Senate Office Building", "link"=>"http://www.boxer.senate.gov"}, {"name"=>"Dianne Feinstein", "party"=>"D", "state"=>"CA", "district"=>"Senior Seat", "phone"=>"202-224-3841", "office"=>"331 Hart Senate Office Building", "link"=>"http://www.feinstein.senate.gov"}]}

那么我需要在repre_controller.rb以及此时的视图文件中添加什么内容?

由于

1 个答案:

答案 0 :(得分:0)

所以,你从网站收到一个JSON对象,现在你打印它,但是你想在rails网站上显示它?

可能最简单的方法是使用JSON对象中的数据接收数据并创建代表实例,然后将该对象传递给Rails模板。

您可能希望在代表模型中使用#new方法来创建此对象,并使用#show将其呈现给Rails。