我正在寻找一些最佳实践,当涉及到插入数据到模型中,尤其是当有很多记录被创建时,到目前为止我正在检索一些XML并保存它into a model一次插入多个记录到模型
doc = Nokogiri::XML.parse(open(url))
doc.xpath('//xmlns:feed/xmlns:entry[xmlns:title[node()]]').each do |s|
cid = s.xpath("xmlns:id").text
email = s.xpath("gd:email/@address").text
name = s.xpath("xmlns:title").text
data = Contact.new(
:cid => cid,
:email => email,
:name => name)
data.save
end
现在这是插入记录在一个接一个,这在我看来是太长了。
我已经读过,一种解决方案是使用交易或我可以做一个单一的质量插入?我的问题是我会从哪一个中受益最大,以及我将如何重新格式化我已经拥有的每一个?看到我的当前设置的例子到新的设置将有利于我,我将能够更了解它,其实从中学到
任何帮助表示赞赏
感谢
是的,但是这不应该被关闭,因为@JeffPaquette提供了一个有问题代码的工作示例,它与GEM提供的默认示例不同 – Richlewis 2013-04-04 14:16:33
您应该能够自己弄清楚。我认为它应该被关闭。这对你的特定情况有效,对于有同样问题的其他用户不会有任何额外的好处。对他们来说,最初的问题是很清楚的。 – Mischa 2013-04-04 14:19:49
我不确定,因此我问......的原因,你怎么能说它不会受益于任何其他用户,什么是容易的,并不一定容易为别人 – Richlewis 2013-04-04 14:22:03