ruby-on-rails - 将信息从 API 转储到模型中

标签 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>
......

最佳答案

好吧,您可以通过使用 YAML.load/dump 来使用序列化/编码哈希。或者你可以一个一个地把 api 字段映射到一个事件记录对象。

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

关于ruby-on-rails - 将信息从 API 转储到模型中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19594145/

相关文章:

ruby-on-rails - 使用 RVM 安装 Ruby

mysql - 关联后跟命名范围会产生重复的 SQL 查询

ruby-on-rails - rails :"session contains objects whose class definition isn\' t 可用。”

mysql - 简单的 MySQL 查询花费的时间太长

c - 当进程尚未完成时,GetExitCodeProcess() 返回 1

ruby-on-rails - Rails Searchkick 与 Controller 中的范围

javascript - 将 JavaScript 转换为 Coffee?

ruby-on-rails - ruby 按字母顺序对数组进行排序,唯一并循环 5 次

python - 如何在flask-sqlalchemy中为API端点设置唯一的字符串主键

iOS Swift 5 API 响应不是 JSON,它有分号?