現在、私はスクリーンスクレイプを介してサッカーの備品を取得しており、レーキタスクが実行されるたびに、すべてのレコードを削除して新しいレコードを保存しています..これをしたくありません.存在しない備品のみを保存したいです. . これまでの私の論理は
def get_fixtures # Get me all Home and away Teams
doc = Nokogiri::HTML(open(FIXTURE_URL))
days = doc.css('#fixtures-data h2').each do |h2_tag|
date = Date.parse(h2_tag.text.strip).to_date
matches = h2_tag.xpath('following-sibling::*[1]').css('tr.preview')
matches.each do |match|
home_team = match.css('.team-home').text.strip
away_team = match.css('.team-away').text.strip
kick_off = match.css('td.kickoff').text.strip
Fixture.create!(home_team: home_team, away_team: away_team, fixture_date: date, kickoff_time: kick_off)
end
end
終わり
レコードが存在するかどうかを確認する別の方法である、これについて最善の方法は何でしょうか? しかし、これについてどうすればよいかわからない
私の治具モデル
class Fixture < ActiveRecord::Base
attr_accessible :home_team, :away_team, :fixture_date, :kickoff_time, :prediction_id
belongs_to :predictions
end
フィクスチャ モデルで validates_uniqueness_of を使用することはできますか?
どんな助けでも大歓迎