我目前每隔3小时调用一次,但是它存储了相同数据的副本。我在Stackoverflow上尝试了一些方法,但它们似乎都没有实际工作。
def fetch_data
response = self.class.get("/tap-2_JD7rkZupwNmg91im5G/last_ready_run/data?format=json")
@elements = response.parsed_response["link"]
# To access the image src's:
image_srcs = @elements.collect { |e| e['image'] }
image_srcs.each do |image|
self.entries.create(image: image)
end
end
有没有办法检查它收集的每个'图像'字符串,并确保它在将新条目插入数据库之前不重复
由于
编辑 - 响应示例
{
"link": [
{
"link": "http://www.test.com",
"image": "http://www.test.com/500x500.jpg"
}, ....
答案 0 :(得分:1)
使用Rails内置验证:validate :image, :uniqueness
。 (http://guides.rubyonrails.org/active_record_validations.html#uniqueness)
注意:请注意,它不能100%防止重复。要获得更强大的解决方案,请使用数据库级别约束(例如迁移中的add_index :entries, :image, unique: true
)