我在嘗試編寫一個Sinatra應用程序,該應用程序從文件中讀取列表,然後從該列表中吐出一個隨機項目。在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
文件,其中西納特拉自述說是託管靜態文件的默認位置。此外,如果我將它放在/public
中,我可以導航到localhost:4567/listing.txt
並在瀏覽器中閱讀該文件。
爲什麼'@ list'自己坐着?您的代碼示例不會通過語法檢查,因此它需要反映您的真實代碼。 –