Ответ 1
Одно использование каталога lib (как я его чаще всего использую) заключается в совместном использовании кода между моделями, чтобы оставаться сухим. Например, если вы определяете атрибут tag_tokens
для многих разных моделей для использования с входом в токенизатор, вы можете поместить его в "tag_accessor.rb" или что-то еще, поместите его в /lib
", а затем включите его с помощью include TagAccessor
. Рубиновый файл может выглядеть так:
module TagAccessor
def tag_tokens
tags.map(&:name).join(',')
end
def tag_tokens=(names)
self.tag_ids = names.split(",").uniq
end
end
(Это пример из одного из моих приложений, поэтому он так специфичен). Затем, чтобы загрузить папку /lib в Rails 3, поместите это в свой application.rb
:
config.autoload_paths += %W(#{config.root}/lib)