我正在尝试使用以下方法从Postgres DB中检索URL列表...
def get_urls(site_id)
conn = PGconn.open(:dbname => 'my_listings')
res = conn.exec("SELECT url_list FROM listings WHERE site_id=#{site_id}")
array = []
count = 0
res.each do |row|
row.each do |column|
array[count] = column
count += 1
end
end
array
end
然后,当我运行代码时......
my_array = get_urls(3)
my_array[0]
我得到了
的返回值 => ["url_list", "http://www.somesite.com"]
所以它给了我列名和数据值,我试图用这些值填充数组。
答案 0 :(得分:2)
这是最简单的方法:
array = res.collect{|row| row['url_list']}
答案 1 :(得分:1)
可在此处找到文档:http://deveiate.org/code/pg/PG/Result.html
正确的方法是调用values方法:
def get_urls(site_id)
conn = PGconn.open(:dbname => 'my_listings')
res = conn.exec("SELECT url_list FROM listings WHERE site_id=#{site_id}")
conn.close # Close the connection again.
res.values # Return a list of values.
end