###前提・実現したいこと
ニュースサイトのクローラーを試しに作っています。
一定時間毎にスクレイピングをし、内容が変化していれば保存をし、変化した内容をビューにその都度自動で表示させたいと思っています。
下記のコードを実行した場合、該当のサイトの取得したいテキスト部分をDBに保存をし、最初の一回目はビューに反映をさせることはできるのですが、変化があった場合のビューの表示が全く変わらずに困っています。
DBには変化があった内容がちゃんと更新されて保存はされてるのですが、ビューだけが更新された内容に変わりません。
これは何が原因でどうすれば解決ができるのでしょうか?
###該当のソースコード
(controller.rbの内容 )
class ~Controller < ApplicationController
require 'open-uri'
require 'nokogiri'
def index
url = "サイト名"
doc = Nokogiri::HTML(open(url))
aaa = モデル名.find(1)
while true if aaa.カラム名 != doc.css('cssセレクタ').inner_text aaa.カラム名 = doc.css('cssセレクタ').inner_text aaa.save @aaa = モデル名.find(1).カラム名 end sleep 10 end
end
end
(html.erbのコード)
<%= @aaa %>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/07/14 15:06
2017/07/14 23:45
退会済みユーザー
2017/07/15 09:26
2017/07/16 01:00
退会済みユーザー
2017/07/16 02:51