Ruby on rails 比较Activerecord以进行导入/更新的更好方法

Ruby on rails 比较Activerecord以进行导入/更新的更好方法,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,请原谅,如果这已经被问到和回答,我会去那里阅读信息。我正在编写一个系统,它将删除用户名/地址以及许多其他内容。姓名和地址出现在每周的文件提要中,因此我们必须确定该信息何时发生更改,然后相应地更新我们的系统以反映新信息。我必须始终保留一个记录,如果你看到多个条目,那就是目前的设计 让我展示一下我们在本示例中使用的模型,例如: class Member < ActiveRecord::Base has_many :addresses has_many :names end class

请原谅,如果这已经被问到和回答,我会去那里阅读信息。我正在编写一个系统,它将删除用户名/地址以及许多其他内容。姓名和地址出现在每周的文件提要中,因此我们必须确定该信息何时发生更改,然后相应地更新我们的系统以反映新信息。我必须始终保留一个记录,如果你看到多个条目,那就是目前的设计

让我展示一下我们在本示例中使用的模型,例如:

class Member < ActiveRecord::Base
  has_many :addresses
  has_many :names
end

class Name < ActiveRecord::Base
  belongs_to :member
  # has fields of firstname and lastname for this example
end

class Address < ActiveRecord::Base
  belongs_to :member
  # has fields of lineone, city, state and zipcode for this example 
end
所以我想知道,如果有什么资源可以用来将这些记录中的信息与文件中的信息进行比较,然后根据需要进行更新呢。显然,所有模型中都会有一些字段必须被忽略,而这些字段不在文件中

是否建议创建未存储的记录,然后以某种方式比较这两个对象?我是否需要只进行字符串比较,然后根据需要更新/添加记录

我将试图澄清,如果我问这是一个糟糕的方式,显然还没有把我的头绕得很好。提前感谢你们提供的帮助和理解


标记

我觉得您需要创建一个程序,可能是一个由cron作业调用的rake任务,以解析您的文件,并相应地与数据库进行比较和更新

我假设您接收的文件是XML或CSV等格式的,以便您可以提取包含相关列的记录。有一些工具可以处理特定的文件格式。有关如何解析CSV文件的示例,请参见:

我假设用户名没有更改,但是您希望检测地址是否更改。您可以迭代文件,获取每行的用户名和地址,并通过用户名在数据库中查找用户,检查地址是否相同或不同。如果地址不同,请更新该记录的地址