0

BoxのSinatraは、個別のアクションをファイルすることを許可していませんか?このような:

index.php
  get '/' and other

user.php
 get '/user/show/'
 post '/user/new/' and other

sinatraの言い方は、「/ user / *」リクエストにはuser.phpを使用し、「/」にはindex.phpを使用します。そして、sinatraで書かれた1つのファイルに多くの投稿を取得するアプリケーションはどのように見えますか?(1つの巨大なお尻?)

4

1 に答える 1

0

たくさん読んだ後、いくつかの解決策があります:

1.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.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
于 2013-03-26T18:48:24.203 に答える