私はいくつかのウェブスクレイピングを行うアプリに取り組んでいます。サイトモデルでは、次の方法があります。
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があります。サイトモデルは、:robots_tagsのaccepts_nested_attributes_forも受け入れます。上記のメソッドは、メソッドの1行目でダウンロードされたすべてのタグを取得し、robots_tagsテーブルのtags列に保存することを目的としています。
問題は、「self.robots_tags」が1つの個別の物ではなく、物のコレクションを取得していることだと思います。しかし、タグを正しく追加する方法がわかりません。何かアドバイス?
(ところで、これらは別の投稿からのフォローアップです、Railsアプリはモデル間の保存に問題があります)