Я пытаюсь узнать, как получить данные с помощью экрана, а затем сохранить его в модели. Пока я могу захватить данные. Я говорю об этом, как будто я:Создайте массив из полученных данных
puts home_team
Я получаю все домашние команды вернулись
get_match.rb #grabbing данные
require 'open-uri'
require 'nokogiri'
module MatchGrabber::GetMatch
FIXTURE_URL = "http://www.bbc.co.uk/sport/football/premier-league/fixtures"
def get_fixtures
doc = Nokogiri::HTML(open(FIXTURE_URL))
home_team = doc.css(".team-home.teams").text
end
end
Тогда я хочу обновить моя модель
match_fixtures.rb
module MatchFixtures
class MatchFixtures
include MatchGrabber::GetMatch
def perform
update_fixtures
end
private
def update_fixtures
Fixture.destroy_all
fixtures = get_fixtures
end
def update_db(matches)
matches.each do |match|
fixture = Fixture.new(
home_team: match.first
)
fixture.save
end
end
end
end
Итак, следующий шаг - это то, где я застреваю. Прежде всего, мне нужно передать результаты home_team в массив?
Вторая часть - это передача совпадений через мой метод update_db, но это неправильно, что я могу здесь передать, результаты home_team из моего метода update_fixtures или самого метода?
Для выполнения этой задачи я делаю:
namespace :grab do
task :fixtures => :environment do
MatchFixtures::MatchFixtures.new.perform
end
end
Но ничего сохраняется, но это и следовало ожидать.
Крутая кривая обучения здесь и была бы оценена толчком в правильном направлении.
спасибо, что убрал еще кое-что для меня, хотя он, кажется, снимает первую букву только для каждой домашней команды, теперь она отправляется в db, что здорово, но теперь нужно получить целое слово, а не просто первое письмо – Richlewis
ok, поэтому я использовал .split ('') вместо полосы, теперь проблема только в том, что когда есть команда под названием West Ham, например, я получаю только West – Richlewis
String # strip " возвращает копию строки с удалением ведущего и конечного пробелов ". http://www.ruby-doc.org/core-1.9.3/String.html#method-i-strip –