2010-11-02 14 views
6

Voglio prendere le impostazioni di configurazione per un modulo e mi è stato detto di usare un inizializzatore per questo.Come creare il mio inizializzatore per un modulo?

Qualcuno può mostrarmi come farlo e come farò riferimento alle impostazioni di configurazione dall'inizializzatore?

+1

Non capisco la domanda. Vuoi sapere come un plugin/gem può aggiungere alcune opzioni/parametri di configurazione nell'oggetto di configurazione Rails? –

risposta

11

La funzione di inizializzazione di Ruby on Rails consente di eseguire bit arbitrari di codice dopo che l'applicazione principale è stata caricata ma prima che le pagine siano state renderizzate. Anche queste sono cose uniche, e l'applicazione deve essere riavviata se cambiata.

Se si desidera configurare o riconfigurare un modulo, è sufficiente farlo. Non c'è niente di sofisticato richiesto. Solitamente hanno un aspetto simile al seguente:

# config/initializers/mymodule.rb 
MyModule.widgets_per_second = 100 
MyModule.reject_invalid_foobars = true 

Dipenderà da ciò che si sta tentando di configurare, naturalmente. È possibile dichiarare estensioni alle classi, caricare moduli aggiuntivi, tutto ciò che potrebbe essere necessario affinché l'applicazione funzioni correttamente.

Generalmente è una cattiva forma caricare forzatamente un plugin o una gemma che non è stata caricata automaticamente, ma come con qualsiasi cosa, a volte è necessario violare le regole per far funzionare la vostra app.

+0

ok, quindi aggiungo proprietà come hai fatto, piuttosto semplice grazie! – Blankman

+0

Se si dispone di un modulo personalizzato, sarà necessario definirli con 'mattr_accessor' o avere metodi definiti come' widgets_per_second = 'ma questa è l'idea generale. La maggior parte delle gemme o dei plugin hanno questo tipo di capacità di configurazione. – tadman

Problemi correlati