現在、cities gemを使用して、データベースの都市リストを作成してアドレスを作成しています。私はこの宝石を取り除き、すべてのjsonファイルを都市の宝石に付属するcitiesフォルダから読み込むように求められました。特定のディレクトリ内のすべてのファイルを順に処理する
は、私には、これを実装行う方法については、いくつかのSOの記事を見てきました:、実装ウィットDir.glob
時Iterate through every file in one directory
私のアプリは、単にサーバーを完全に終了します/その特定のページにクラッシュして終了します。
はそうでない場合は、Dir.foreach
で、私はこのエラーの
Errno::ENOENT in StuffsController
No such file or directory @ dir_initialize
を取得し、私はthis SO postを試みたが、それは私のために多くの問題を引き起こして、私は本当に私のGemfileを更新することができないことに気づきました。ここで
はErrno::ENOENT
を生産する私のコードです:
@okay = Array.new
Dir.foreach("#{Rails.root}/cities/*.json") do |json_file|
@okay << JSON.parse(File.read(json_file))
end
私もthis SO postから以下のコードを試してみましたが、私はそれから1つのファイルを読み込むための仕事を得ることができます
NameError in StuffsController
undefined local variable or method `id' for # <StuffsController>
@okay = Array.new
Dir.foreach("#{Rails.root}/cities/#{id}.json") do |json_file|
@okay << JSON.parse(File.read(json_file))
end
を受けていますそのフォルダは問題なく、100%問題なし:
@cities = Array.new
@json = JSON.parse(File.read('cities/AD.json'))
@json.each do |j|
if j.second.has_key?("accentcity")
@cities << j.second.select {|k,v| k == "accentcity"}
name = j.second.select {|k,v| k == "accentcity"}
City.first_or_create(name: name)
end
end
(@cities
配列は、自分のメソッドが私の望むものを作り出したかどうかをテストするために主に使用されたことに注意してください)
私はRuby on Railsバージョン4.2.6を使用しています。
どのログファイルがグロブとアプリがクラッシュした後に含まれていますか? –