我正在使用Sinatra开发一个简单的Web应用程序,并使用rack
作为中间件,因此有一个config.ru
。
要运行该应用程序,我使用shotgun config.ru
。
当应用程序执行GET
请求时,我没有问题。但我的应用有几个POST
请求,当我通过POST
方法提交表单时,我收到了这个奇怪的错误:
Method Not Allowed
以下是我的config.ru
:
require "rack"
require 'rack/contrib/try_static'
require File.expand_path("app", File.dirname(__FILE__))
use Rack::TryStatic, :root => File.join(App::SETTINGS.source, App::SETTINGS.site.config['destination']), :urls => %w[/]
run App
知道什么可以解决这个问题吗?
谢谢
答案 0 :(得分:0)
以下内容不会回复帖子:
get '/hi' do
"Hello World!"
end
你很可能需要这样做:
post '/hi' do
# do post stuff
end
答案 1 :(得分:0)
我解决了这个问题。
这是rack
的问题。
我替换了
use Rack::TryStatic,
:root => File.join(App::SETTINGS.source, App::SETTINGS.site.config['destination']),
:urls => %w[/]
使用:
use Rack::Static,
:urls => ["/#{App::SETTINGS.site.config['destination']}"],
:root => File.join(App::SETTINGS.source, App::SETTINGS.site.config['destination'])