【问题标题】:Outputting content onto rails website from Third Party API从第三方 API 将内容输出到 rails 网站
【发布时间】:2017-01-23 15:07:38
【问题描述】:

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

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

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

这是我的模型文件代表.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"}]}

那么此时我需要在代表控制器.rb 以及视图文件中放入什么?

谢谢

【问题讨论】:

    标签: ruby-on-rails ruby httparty


    【解决方案1】:

    所以,您从站点收到一个 JSON 对象,现在您打印它,但您想在 Rails 站点上显示它?

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

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

    【讨论】:

    • 是否需要将任何代码放入控制器文件中才能看到我放置在视图文件中的代码的输出?
    • 我很难回答,我会以不同的方式组织这个(不是判断,只是观察)。您需要一个“新”方法来从 HTTP GET 获取结果并为代表创建一个实例变量,然后将其提供给要显示的视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 1970-01-01
    相关资源
    最近更新 更多