【发布时间】:2013-03-12 14:38:19
【问题描述】:
我正在使用 Nokogiri 从网页中抓取数据,目前我可以保存到模型中的一列
def update_fixtures #rake task method
Fixture.destroy_all
get_fixtures.each {|match| Fixture.create(home_team: match )}
end
def get_fixtures # Get me all Home Teams
doc = Nokogiri::HTML(open(FIXTURE_URL))
home_team = doc.css(".team-home.teams").map {|h| h.text.strip }
end
我想知道同时保存到 2、3 或 4 列的最有效方法
例如,我有另一个名为 away_team 的列,我会以与主队相同的方式对这些数据进行分级
away_team = doc.css(".team-away.teams").map {|a| a.text.strip }
是否建议将其放在 get_fixtures 方法中?然后用类似的东西添加到 update_fixtures
def update_fixtures #rake task method
Fixture.destroy_all
get_fixtures.each {|match| Fixture.create(home_team: match, away_team: match )}
end
在尝试此操作后,相同的数据将发布到主队和客队列。回读后我可以看到原因(我认为这是因为比赛只获取了 home_team 数据?)。如何将客队的属性与主队的属性一起传递?
这都是非常新的,因此我们感谢您提供的任何帮助
【问题讨论】:
-
为什么两者都发布相同的数据?在 get_fixtures 方法中,
home_team和away_team变量有不同的赋值,所以数据应该不同。 -
我不确定,所以我的方法正确吗?我为主队和客队发布了相同的数据,所以 (H)Man Utd (A)Manutd。
标签: ruby-on-rails ruby-on-rails-3 loops models