2011-11-29 4 views
12

Questo probabilmente mi farà sembrare zoppo ma ancora - Non riesco a trovare alcuna descrizione formale per una tipica struttura di applicazioni rack (cartelle/file, come pubblico, config.ru), o il contenuto del file config.ru.Cerchi la struttura dell'app rack e le specifiche config.ru?

Nel mondo Java esiste una definizione chiara di un'applicazione Web e delle parti in essa contenute (WEB-INF, META-INF web.xml).

Esiste una specifica di un'applicazione Web Rack? O è qualcosa di vago come lo stesso Ruby.

Mi aspettavo di trovare quell'informazione da qualche parte sul sito http://rack.rubyforge.org/ ma non ho potuto. Per favore, indicami la giusta direzione.


Anche se ho segnato questa domanda ha risposto vale la pena ricordare che la stessa domanda in non molto legittimo. La struttura dell'app è guidata dalla combinazione di webserver/plugin in uso, come Apache/Passenger e non Rack.

+0

Hai visto http://rack.rubyforge.org/doc/SPEC.html? Inoltre, il contenuto di 'config.ru' viene valutato nel contesto di [' Rack :: Builder'] (http://rack.rubyforge.org/doc/Rack/Builder.html). – matt

+0

sembra più una procedura API, piuttosto che una descrizione di un layout di app web rack, si guarderà di nuovo –

risposta

2

Un Rack è semplice come:

class HelloWorld 
    def call(env) 
    [200, {"Content-Type" => "text/plain"}, ["Hello world!"]] 
    end 
end 

e complesso come applicazioni integrate su framework come Rails, Sinatra e così via, costruito su Rack.

Per quanto riguarda la struttura, è possibile creare il proprio. Con Rack, generi contenuti come vuoi che siano strutturati. Con Rack, si sta fondamentalmente esportando il contenuto HTTP grezzo.

"Introducing Rack", "32 Rack Resources to Get You Started" e "Introduction to Rack middleware" sono risorse per capire meglio Rack.

Per quanto riguarda la struttura, si ha la libertà nell'organizzazione dei file per la suite dell'app web. Potresti avere altre applicazioni Rack in diversi file; Tutto ciò che serve è richiedere correttamente questi file.

Un'app Rack può essere di qualsiasi classe Ruby che risponda al messaggio :call con env, proprio come l'applicazione HelloWorld sopra.

+0

se parliamo in termini Java possiamo dire che Rack definisce solo l'API Servlet e non il layout (struttura di directory) di un'applicazione web? non esiste una definizione di dove 'config.ru' deve essere posizionato rispetto alle classi di app Web (file rb)? –

+0

non ci sono specifiche in sé. ma il 'config.ru' è qualcosa che fa esplodere l'app. sarebbe l'ideale se questo è nella directory home (o root) della tua app web – iGbanam

1

Avete controllato the Rack Wiki? Esso contiene una serie di vari collegamenti a tutorial, presentazioni, ecc (ma io non sono sicuro di spec.) Applicazione web

+0

hmm Sono stato lì ma ho mancato il _ @ rackup @ How-To_ in qualche modo, potrebbe essere quello di cui ho bisogno per la parte config.ru spec ... –

Problemi correlati