我创建了第一个导入一些数据的Rails Rake任务。它使用URL来标识是否需要更新或插入页面。然而,我有一些非常奇怪的问题,一些记录被多次插入,而不是仅仅被更新。
我的查询如下:
existingCompany = Company.find_by_external_link(company.external_link)
然后我看看
existingCompany.nil?
查看是否需要创建或更新记录。即使存在外部链接,也不会通过活动记录找到某些公司。我试图打印出url,然后查看数据库(我使用PostgreSQL),它找到了正确的。更奇怪的是,它不会发生在所有记录中,只会发生在其中的一些记录中。
任何人都知道什么可能使ActiveRecord认为记录不存在?
答案 0 :(得分:1)
您不会提供大量信息,但需要尝试以下几点:
要记住的另一件事是ActiveRecord创建一个方法Company.find_or_create_by_external_link,它将一步完成