Ruby on rails 从散列中的不同函数转换两个数组

Ruby on rails 从散列中的不同函数转换两个数组,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在解析一个具有两个功能的网站:href\u link和get\u price。它们中的每一个都在自己的数组中添加值 在我对这两个函数调用函数get_hash之后,我将数组转换为哈希 我在函数get\u hash中的错误在哪里,因为我在执行脚本时出错: :68:in `zip': undefined method `each' for nil:NilClass (NoMethodError) 这是我的密码 def get_hash(*arr) h = Hash[arr[0].zip ar

我正在解析一个具有两个功能的网站:
href\u link
get\u price
。它们中的每一个都在自己的数组中添加值

在我对这两个函数调用函数
get_hash
之后,我将数组转换为哈希

我在函数
get\u hash
中的错误在哪里,因为我在执行脚本时出错:

:68:in `zip': undefined method `each' for nil:NilClass (NoMethodError)
这是我的密码

def get_hash(*arr)
  h = Hash[arr[0].zip arr[1]]
  puts h
end


def href_link
  page.css("div#main div#center div#center-middle .content .listing-torrent table td a").each do |link|
href = link["href"]
  array_href = []
   array_href << href
    get_hash(array_href)
  end
end

def get_price
 array = []
    page.css("div#main div#center div#center-middle .content .listing-torrent table tbody tr td p").each do |price|
      array << price
     get_hash(array)
   end
end
def get_散列(*arr)
h=Hash[arr[0]。zip arr[1]]
放h
终止
def href_链接
css(“div#main div#center div#center middle.content.listing torrent table td a”)。每个do链接|
href=link[“href”]
数组_href=[]

array_href将此
get_hash(array_href)
更改为
get_hash(*array_href)
或将
def get_hash(*arr)
更改为
def get_hash(arr)
看起来发生错误是因为其中一个数组是空的?除了您的代码格式在这里是一场灾难之外,缩进并不一致,你需要查看完整的堆栈跟踪,看看这是从哪里来的。如果我按照你说的@bjhaid做,那就差不多好了。最后一个问题是我在key和value中得到了相同的值示例:hash:{“12”=>“12”我试图得到的是hash:{“price”=>“href”}