Beim Versuch, diese App mit sinatra auszuführen, wird ein Fehler ausgegeben, der besagt, dass keine JSON-Datei gefunden werden kann. Wenn ich die Methoden außerhalb von Sinatra teste, funktionieren sie gut. Die Datei database.json befindet sich im selben Ordner wie app.rb. Wenn ich die Methode "read" nicht ausführe, funktioniert sinatra gut.Sinatra Errno :: ENOENT - Datei kann nicht gefunden werden
Dies ist app.rb
require 'sinatra'
require 'json'
class Articles
attr_reader :read
def read
JSON.parse(File.read('database.json'))
end
def create
"Here I am!"
end
def update(title, content)
added_art = {"title": title, "content": content}
json = File.read('database.json')
secondJsonArray = JSON.parse(json)
secondJsonArray << added_ar
File.open("database.json","w") do |f|
f.puts JSON.pretty_generate(secondJsonArray)
end
end
end
get '/' do
@all = Articles.new.read
erb :index
end
post '/' do
@title = params[:title]
@content = params[:content]
Articles.new.update(@title, @content)
redirect 'http://localhost:4567/'
end
Die Fehlermeldung, die ich erhalten, ist die folgende:
No such file or directory @ rb_sysopen - database.json
JSON.parse(File.read('database.json'))
Allerdings, wenn ich die einzelnen app.rb Datei von Sublime Text ausführen, es funktioniert und ich kann die URL ganz gut bekommen.
Extra-
Sind Sie sich bewusst, dass Sie nur 'Umleitung verwenden können‚/ "Das funktioniert dann auch für verschiedene Hosts und Ports –