2011-10-12 25 views
26

Domanda sulla directory lib.Directory lib rails

Quali sono le buone pratiche nell'utilizzo della directory lib?
Quando deve essere utilizzato su app/modelli o app/helper?
E in qualche modo correlato come si ottiene Rails 3 per includere i file dalla directory lib?

Grazie

risposta

25

Un uso della directory lib (come lo uso molto spesso) è quello di condividere il codice tra i modelli di rimanere a secco. Ad esempio, se si sta definendo un attributo tag_tokens su molti modelli diversi da utilizzare con un input tokenizer, è possibile inserirlo in "tag_accessor.rb" o qualcosa, posizionarlo in /lib "e quindi includerlo con include TagAccessor. Il file rubino potrebbe sembrare:

module TagAccessor 
    def tag_tokens 
    tags.map(&:name).join(',') 
    end 

    def tag_tokens=(names) 
    self.tag_ids = names.split(",").uniq 
    end 
end 

(Questo è un esempio da una delle mie applicazioni, ed è per questo che è così specifica). Poi per caricare la cartella/lib in Rails 3, inserire questo nel vostro application.rb:

config.autoload_paths += %W(#{config.root}/lib) 
+0

hi @bricker, dire che devo scrivere calcolatore delle imposte, è meglio mettere al calcolo delle tasse compiti realted nella cartella/lib, come /lib/damp_tax/tax_calculator.rb e il contenuto in tax_calculator.rb come modulo DampTax; class TaxCalculator; fine; fine; – codemilan

Problemi correlati