【发布时间】:2014-10-15 18:21:53
【问题描述】:
我有两个表,“Que”和“Opts”。
我想遍历 Que 中的所有记录并将它们添加到变量 rikt_nr、start_nr 和 end_nr,因为它们将位于 URL 的末尾,如下所示:
api.url.number=8-00001
如何让它遍历 Que 并将 rikt_nr、start_nr 和 end_nr 传递给其余代码?
Que 表有以下字段:
create_table "ques", force: true do |t|
t.integer "rikt_nr"
t.integer "start_nr"
t.integer "end_nr"
t.datetime "created_at"
t.datetime "updated_at"
end
Opts 有这些字段:
create_table "opts", force: true do |t|
t.string "numbers"
t.string "operator"
t.datetime "created_at"
t.datetime "updated_at"
end
这是代码:
Que.all.each do | que |
url = "http://api.url.number="
que.rikt_nr = rikt_nr
que.start_nr = start_nr
que.end_nr = end_nr
st_en = start_nr..end_nr
st_en.each do |nr|
full_url = "#{url}" + rikt_nr.to_s + "-"+ nr.to_s
doc = Nokogiri::XML(open(full_url))
number = doc.at('Number').text
operator = doc.at('Name').text
number_operator = "#{number}" + ";" + " #{operator}"
number_operator
save = @opts.create(:numbers => number, :operator => operator)
end
end
【问题讨论】:
-
请格式化您的代码,使其更具可读性。这对每个人都有帮助。
标签: ruby-on-rails ruby database nokogiri