2011-10-12 31 views
26

Lib dizini hakkında soru.Rails lib dizini

Lib dizini kullanımında iyi uygulamalar nelerdir?
Uygulamada/modellerde veya uygulama/yardımcı programlarda ne zaman kullanılmalıdır?
Ve biraz ilgili olarak Rails 3 dosyalarını lib dizini içerecek şekilde nasıl alıyorsunuz?

Teşekkür

(I en sık bunları nasıl kullandığımız) lib dizininin

cevap

25

bir kullanımı KURU kalmaya modelleri arasındaki kod paylaşmaktır. Örneğin, bir jeton girişi ile kullanılmak üzere birçok farklı modelde bir tag_tokens özniteliği tanımlıyorsanız, bunu "tag_accessor.rb" ya da bir şeye yerleştirebilir, /lib'a yerleştirebilir ve ardından include TagAccessor ile ekleyebilirsiniz.

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

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

(Bu örnek o kadar spesifik neden olan uygulamalarıma birinden olan): gibi yakut dosya görünebilir. Ardından, Rails 3/lib klasörü yük application.rb senin bu yerleştirmek için:

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

hi @bricker, ben vergi hesap makinesi yazmak zorunda demek, gibi/lib klasörüne vergi hesaplama realted görevleri koymak için daha iyidir /lib/damp_tax/tax_calculator.rb ve tax_calculator.rb dosyasındaki içerikler DampTax; sınıf TaxCalculator; son; son; – codemilan