Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 简单Sinatra路由Json文件_Ruby_Json_Sinatra - Fatal编程技术网

Ruby 简单Sinatra路由Json文件

Ruby 简单Sinatra路由Json文件,ruby,json,sinatra,Ruby,Json,Sinatra,我正在编写一个简单的SinatraAPI,它返回特定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 然而,我一直收到这个错误,没有这样的文件。请帮忙!谢谢大家!

我正在编写一个简单的SinatraAPI,它返回特定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

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

如何运行应用程序?如果您使用的是机架式或精简型,它们将不会提供来自
public/
的文件

您也不需要设置

:public_文件夹“public”

如果文件夹
public/
存在,它将自动尝试提供该文件夹中的文件。只有在使用的文件夹不是
public/
时,才需要设置该选项