以下に示すように、HTMLを配列に解析しています。データを配列に取得してから、データをデータベースにプッシュできます。配列データの1行は次のとおりです。
{:address=>"6222 Lodgepole Dr", :members=>["Diana L Dillard", "Kemberly J Williams", "George S Williams Iii"]}
データベースの結果は次のとおりです。
Master Neighbor Name
7545 XYZ Dr --- - 8283 Southern Watch Pl --- - - Diana L Dillard - Kemberly J Williams - George S Williams Iii
これらは私の質問です:
Address.create
配列の最初のメンバー(この例Diana L Dillard
では、すべての名前ではなく「名前」フィールド)にのみ挿入するループを取得するにはどうすればよいですか?理想的には、最初に1つのフィールドを作成し、次に他のすべてのフィールドに別のフィールドを作成したいと思います。- これらのダッシュ「---」がデータに挿入されるのはなぜですか?私はそれらを望んでいません。
これは私の現在のコードです:
url = "XYZ"
doc = Nokogiri::HTML(open(url))
results = []
# parse .single tags
doc.css('.single').each do |single_div|
res = {}
res[:address] = single_div.at_css('span.address').text
res[:members] = single_div.css('li.basic_info').collect{|el| el.text.strip}
results << res
end
results.each do|address|
puts "#{address}: #{members}"
Address.create(:neighboradd => "#{address}", :master => '7545 XYZ Dr', :name => "{members}")
end