将信息从API转储到模型中

时间:2013-10-25 15:41:17

标签: ruby-on-rails ruby api model

我正在从终端中运行Ruby脚本到在rails应用程序中运行它们。在我的ruby脚本中,我有这段代码:

call = "#{client_id}/lookup/member/email?email=#{email}"
url = HTTParty.get("#{base_uri}#{call}",
  :basic_auth => auth,
  :headers => {'Accept' => 'application/json' } )

response = JSON.parse(url.body)

email = response["email"]

例如,这会返回email

然后,在一个单独的项目中,我在我的Rails应用程序中有一个名为Email的模型。

如何从我的脚本中调用上述API调用,在我的Rails应用程序中动态创建“Emails”,以便我可以执行以下操作:

<% @emails.each do |email| %>
  <tr>
    <td><%= link_to email.id, email_path(email) %></td>
    <td><%= email.name %></td>
    <td><%= email.surveyid %></td>
    <td><%=l email.created_at %></td>
......

1 个答案:

答案 0 :(得分:0)

您可以使用YAML.load / dump来使用序列化/编组哈希。或者您可以逐个进行并将api字段映射到活动记录对象。

e = Email.new
e.name = response["email"]["name"]
e.surveryid = response["email"]["surveyid"]
#........ Adittional field mappings ...........
e.save