ファイルからリストを読み取り、そのリストからランダムなアイテムを吐き出す Sinatra アプリを作成しようとしています。
ただし、ファイルを読み取るためのファイルへのパスを理解するのに苦労しています。ブラウザでアイテムを読み込もうとすると、シナトラは「そのようなファイルやディレクトリはありません」と言います:
Errno::ENOENT at /wod
No such file or directory - http://localhost:4567/listing.txt
コードは次のとおりです。
require 'sinatra'
@list
get /item
puts read_list[rand(@list.size)]
end
def read_list
File.open('listing.txt', 'r').readlines
end
/public
Sinatra README によると、これは静的ファイルをホストするためのデフォルトの場所です。さらに、それを入れると、ブラウザでファイルに/public
移動しlocalhost:4567/listing.txt
て読むことができます。