2017-01-23 99 views
0

我使用HTTParty宝石从第三方的API访问数据的网站。输出内容到轨第三方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"}]} 

那么我需要把在representatives_controller.rb以及作为视图文件在这一点上?

感谢

回答

0

所以,你从网站上收到一个JSON对象,而现在你打印出来,但你要显示它在一个轨道的网站?

也许最简单的方法就是接收数据,并使用从JSON对象中的数据的代表性实例,然后将该对象传递给一个Rails模板。

你可能会想#NEW使用的方法的代表模型中创建该对象,并#show把它呈现给导轨。

+0

我是否需要将所有的代码放到控制器文件之前,我可以看到我在查看文件放置代码输出? – Jemfrim949

+0

我很难回答,我会以不同的方式组织(不是判断,只是观察)。您需要一个“新”方法从HTTP GET获取结果并为代表创建实例变量,然后将其提供给视图以显示。 –