2010-06-07 13 views

risposta

6

La differenza è tra 2 ambienti. In Rails, ci sono diversi ambienti. Ognuno ha la propria configurazione del database e le opzioni Rails.

È possibile utilizzare la variabile Rails.env per apportare modifiche diverse a un ambiente particolare.

Per impostazione predefinita, l'ambiente di sviluppo è privo di tutta la cache e attiva il ricaricamento automatico. L'ambiente di produzione è con tutta la cache.

Ma se si desidera è possibile creare un ambiente di produzione come lo sviluppo o l'ambiente di sviluppo come la produzione.

È possibile aggiungere anche un nuovo ambiente specifico.

1

Fondamentalmente, non vi è alcuna differenza tra gli ambienti Rails. L'ambiente è semplicemente una costante che viene impostata quando un'applicazione Rails viene avviata e referenziata spesso durante il processo di avvio e disponibile per il codice dell'applicazione.

Ad esempio, la costante definisce quale configurazione del database utilizzare per la connessione e quale inizializzatore dell'ambiente da eseguire (ad esempio config/environments/development.rb) al momento dell'avvio.

Gli ambienti di default che esistono in un'applicazione Rails sono:

  • sviluppo
  • prova
  • produzione

alcune opzioni di configurazione differiscono tra gli ambienti Rails di default, ma gli ambienti sarebbe essere identico se le opzioni di configurazione nella corrispondente config/environments/# {environment} file erano identici. Ciò è dimostrato dal fatto che gli ambienti aggiuntivi possono essere creati con l'aggiunta di progettazione del collegamento config/database.yml e un nuovo file ambiente config/ambienti

4

Estratto dal libro Agile Development using Rails

Semplificare lo sviluppo

Potreste aver notato qualcosa sullo lo sviluppo che stiamo facendo così lontano. Dato che abbiamo aggiunto il codice alla nostra applicazione , non abbiamo dovuto riavviare l'applicazione in esecuzione . È stato felicemente chugging nello sfondo . Eppure, ogni modifica è disponibile ogni volta che si accede all'applicazione tramite un browser. Cosa dà ?

Si scopre che lo spedizioniere di Rails è piuttosto intelligente. In modalità sviluppo (in contrapposizione a testing o produzione), carica automaticamente i file sorgente dell'applicazione quando una nuova richiesta arriva . In questo modo, quando modifichiamo la nostra applicazione , il dispatcher si assicura che stia eseguendo le modifiche più recenti. Questo è ottimo per lo sviluppo.

Tuttavia, questa flessibilità viene ad un costi che provoca una breve pausa dopo aver immette un URL prima che l'applicazione risponde. Ciò è causato dal caricamento del dispatcher . Per lo sviluppo è un prezzo che vale la pena pagare, ma in produzione sarebbe inaccettabile. Per questo motivo, questa funzione è disabilitata per la distribuzione di produzione .

Problemi correlati