Box 中的 Sinatra 不允许单独提交文件吗?像这样:
index.php
get '/' and other
user.php
get '/user/show/'
post '/user/new/' and other
如何说 sinatra 使用 user.php 处理 '/user/*' 请求,使用 index.php 处理 '/'。以及如何在一个用 sinatra 编写的文件中发布多个帖子的应用程序?(一个大屁股?)
经过大量阅读,存在一些解决方案:
1.
class Get < Sinatra::Base
get('/') { 'GET!' }
end
class Post < Sinatra::Base
post('/') { 'POST!' }
end
class Routes < Sinatra::Base
get('/') { Get.call(env) }
post('/') { Post.call(env) }
end
run Routes
2.
class Foo < Sinatra::Base
get('/foo') { 'foo' }
end
class Bar < Sinatra::Base
get('/bar') { 'bar' }
end
Routes = Rack::Mount::RouteSet.new do |set|
set.add_route Foo, :path_info => %r{^/foo$}
set.add_route Bar, :path_info => %r{^/bar$}
end
run Routes