ファイルを閉じずに開いたときに「開いているファイルが多すぎます」というエラーが発生することは知っていますが、それを行っても(私は思う)、まだこのエラーが発生しています:
remote_photos_list do |remote_path|
Net::FTP.open(ip, username, password) do |ftp|
tmp_path = File.join('tmp/images', File.basename(remote_path))
ftp.getbinaryfile(remote_path, tmp_path)
File.open(tmp_path, 'r') do |file|
listing.photos.create(:image => file)
end
File.delete(tmp_path)
end
end
エラーはlisting.photos.create(:image => file)
、最初の繰り返しの行で発生します。
最も外側のブロックを反対の順序でネストし、代わりに HTTP 経由でダウンロードし、マシンを再起動しようとしましたが (これはローカルで発生しています)、すべて役に立ちませんでした。StackExchange と Google で見たところ、これは非常に単純な問題のように思えますが、このエラーを取り除くことはできません。
これは、Mac OS X 上のローカル Rails 3.2.13 サーバーで発生しており、モデルlisting
のインスタンスであり、と呼ばれるペーパークリップが付属しています。Listing
has_many :photos
Photo
image
tmp_file
また、世代が必要かどうかもわかりません。それを回避する方法があれば、私に知らせてください。おそらくそれが役立つでしょう。
繰り返しますが、これがばかげた質問である場合は申し訳ありませんが、助けていただければ幸いです。