【发布时间】:2017-11-14 06:33:00
【问题描述】:
我有一个从外部 URL 获取 JSON 数据并保存到我的数据库的任何 cronjob。我正在寻找一个选项来仅添加或更新自上次 rake 任务以来新的或已更改的记录。目前它只是在旧数据之上创建。
耙任务
namespace :properties do
desc "Save Properties from API to database"
task upload: :environment do
json = JSON.parse('{"Property":[{"id":"1","street":"123 Fake Street","town":"Someplace","postcode":"000000"}]}')
json['Property'].each do |data|
property = Property.create
property.id = data['id']
property.street = data['street']
property.town = data['town']
property.postcode = data['postcode']
property.save
end
end
end
【问题讨论】:
-
你可以使用 find_or_create_by - apidock.com/rails/v4.0.2/ActiveRecord/Relation/…
-
谢谢萨金。它引导我朝着正确的方向前进。
标签: ruby-on-rails json ruby-on-rails-5