1

我正在编写一个简单的 Sinatra Api,它返回一个特定 URL 的 Json 文件。

这是 server.rb 的代码

require 'sinatra'
set :public_folder, 'public'
get '/' do
    'Hello world!'
end

get '/api/spells' do
    content_type :json
    File.read('public/spells.json')
end

但是,我一直收到没有此类文件的错误。请帮忙!谢谢!

 Errno::ENOENT at /api/spells
 No such file or directory - /spells.json
4

2 回答 2

1

你是如何运行应用程序的?如果您在机架上或瘦身上使用它,他们将不会提供来自public/.

你也不需要设置

:public_folder,“公共”

如果该文件夹public/存在,它将自动尝试从该文件夹中提供文件。如果您使用的文件夹不是public/.

于 2013-08-28T19:04:48.530 回答
1

如错误消息所示,这是您的路径有问题。根据文档,默认情况下,File.read('public/spells.json')将尝试spells.json在名为 的文件夹中查找文件public/,确保将 json 文件放在那里。

于 2013-08-28T09:14:23.547 回答