我正在开发一个可以进行网络抓取的应用程序。在站点模型中,我有这个方法:
def download_meta_tags
downloaded_tags = Nokogiri::HTML(Net::HTTP.get(self.domain, "/")).xpath("//meta[@name='robots']")
downloaded_tags.each do |t|
self.robots_tags.tag << t
end
end
站点模型通过名为 robots_tag_sites 的连接表有许多 robots_tags。站点模型还接受_nested_attributes_for :robots_tags。上述方法旨在获取在该方法的第 1 行中下载的所有标签,并将它们保存到 robots_tags 表的标签列中。
我认为问题在于“self.robots_tags”仍然抓取一组东西而不是一个单独的东西。但我不确定如何正确添加标签。有什么建议吗?
(顺便说一句,这是另一篇文章的后续,Rails 应用程序在模型间保存方面存在问题)