Ruby Sinatra best practice per la struttura del progetto [chiuso]

4

Molte persone lodano la capacità di Sinatra di creare progetti semplici in un singolo file. Questo è fantastico e tutto tranne che cosa succede se voglio usare Sinatra per un progetto leggermente più grande?

Sono abbastanza nuovo per Ruby nel suo insieme, ma ho già trovato un paio di modi per creare un'applicazione Sinatra con file di modelli separati, partizionare gruppi o URL diversi in singoli file, ecc ... Ma c'è qualche pratica migliore per questo?

    
posta Mike 24.10.2010 - 22:46
fonte

2 risposte

5

Il passo da compiere è di suddividere l'applicazione in più parti a livello di file. Invece di avere tutti i percorsi in un unico file, suddividili in file logicamente separati con diversi gruppi di funzionalità in file diversi, che sono tutti poi require 'd di nuovo nel file principale dell'applicazione / Rackup di Sinatra.

Sebbene ciò renda la struttura dei file più carina, non implementa alcuna compartimentazione o organizzazione vera al di là delle divisioni superficiali. La soluzione a questo che sembra aver raccolto maggior popolarità e accettazione è il framework Padrino , che si estende e si espande sul Sinatra core per aggiungere controller (per compartimentalizzazione) e un sacco di funzioni simili a Django (autenticazione drop-in, amministrazione, ecc.).

    
risposta data 24.11.2010 - 07:15
fonte
0

Una cosa che mi aiuta a mantenere gestibili i percorsi è rendere le linee più compatte usando lambda. Come puoi vedere, questa è solo una linea. Se hai bisogno di più lavoro nel blocco, basta inserirlo in un file helper e richiederlo.

get '/', &block = lambda { haml :index }

get '/my_markdowns', &block = lambda { markdown :"graph", to_erb }

"graph" è una pagina di markdown e il metodo to_erb è in un helper per renderlo con il layout erb. Haml ha un tag: markdown ma devi ancora indentare molto per la sintassi haml.

    
risposta data 18.09.2015 - 11:44
fonte

Leggi altre domande sui tag