0

Nokogiri で作成したハッシュがあり、それから JSON ファイルを生成しようとしています。見つけた

tempHash = {
  "key_a" => "val_a",
  "key_b" => "val_b"
}
File.open("public/temp.json","w") do |f|
  f.write(tempHash.to_json)
end

問題は、エラーが発生し続けることです

 test.rb:43:in `initialize': No such file or directory - public/temp.json (Errno::ENOENT)

私のコードは次のようになります

def summary
  listing_data = @nodes
  listings = listing_data.css('div.unsponsored div.item.compact.listing') 

  listing_hashes = listings.map do |x| 
    type = "#{@type}"
    address = x.css('div.body h3 a').text
    unit = x.css('div.body h3 a').text.gsub!(/.*?(?=#)/im, "")
    url = x.css('div.item_inner div.body h3 a').text
    price = x.css('h3 span').text 

    {
      :type => type,
      :address => address,
      :unit => unit,
      :url => url,
      :price => price,
    }
  end

  File.open("public/temp.json","w") do |f|
    f.write(JSON.pretty_generate(listing_hashes))
  end
end

ありがとう!

4

2 に答える 2

0

エラーは一目瞭然です:"No such file or directory - public/temp.json"

'w'この場合、モード引数に指定したため、おそらく存在しないディレクトリです。指定'w'すると、ファイルが存在しない場合は作成されますが、ディレクトリは作成されません。

自分でディレクトリを作成してpublicから、コードを再度実行してみてください。

于 2013-04-23T03:30:19.093 に答える