2011-10-12 16 views
26

Pytanie o katalog lib.Katalog rails lib

Jakie są dobre praktyki w używaniu katalogu lib?
Kiedy powinno się używać aplikacji/modeli lub aplikacji/pomocników?
Co nieco wiąże się z tym, w jaki sposób Rails 3 dołącza pliki z katalogu lib?

Dzięki

Odpowiedz

25

Jeden korzystanie z katalogu lib (jak używam go najczęściej) jest dzielenie kodu między modelami pozostać suche. Na przykład, jeśli definiujesz atrybut tag_tokens w wielu różnych modelach do użycia z wejściem tokenizera, możesz umieścić go w "tag_accessor.rb" lub coś podobnego, umieścić w /lib ', a następnie dołączyć go do include TagAccessor. Plik ruby ​​może wyglądać następująco:

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

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

(Jest to przykład z jednej z moich aplikacji, dlatego jest tak szczegółowy). Następnie załadować/folder lib w Rails 3, umieścić to w swojej application.rb:

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

hi @bricker, że mam napisać kalkulator podatkowy, to lepiej umieścić obliczania podatku realted zadania/folderu lib, jak /lib/damp_tax/tax_calculator.rb i zawartość w pliku tax_calculator.rb jako moduł DampTax; klasa TaxCalculator; koniec; koniec; – codemilan