/ / Sinatra e comportamento dei "controllori" - sinatra, rack

Sinatra e comportamento "controllori" - sinatra, rack

Sinatra from Box non consente di archiviare azioni separate? In questo modo:

index.php
get "/" and other

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

Come dire sinatra usa user.php per la richiesta "/ user / *" e index.php per "/". E come appare l'applicazione con molti post in un file scritto in Sinatra? (un culo enorme?)

risposte:

0 per risposta № 1

Dopo aver letto molto, esistono alcune soluzioni:

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