現在スクレイピングで、Webサイトから特定の要素を取得し、DBに保存する実装をしております。
ですが、スクレイピング自体は問題なくできているものの、DBへの保存がうまくいっておりません。
解決策をご存知の方は、ご教授いただければと思います。
ruby
1# app/models/book.rb 2 3class Book < ApplicationRecord 4 5require 'open-uri' 6require 'nokogiri' 7 8url = '指定したURL' 9 10charset = nil 11html = open(url) do |f| 12 charset = f.charset 13 f.read 14end 15 16doc = Nokogiri::HTML.parse(html, nil, charset) 17 18title = doc.css('.text-jadegreen') 19detail = doc.css('.two-lines') 20#上記の変数の値は、問題なく取得済み 21 22book = Book.where(title: title).first_or_initialize #ここでundefindが発生! 23book.detail = detail 24book.save
エラー内容
terminal
1undefined method `where' for Book:Class (NoMethodError)
補足
OS: Mac
rails 5.2系
gem 'nokogiri' を使用
whereメソッドでテーブルを取得して、その下の処理でカラムの更新をかけたいのですが、
なぜ未定義で怒られるのか検討がつきません。
ぜひご教授いただければ幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/15 14:30