Подтвердить что ты не робот

Каталог Rails lib

Вопрос о каталоге lib.

Каковы эффективные методы использования каталога lib?
Когда это следует использовать для приложений/моделей или приложений/помощников?
И как-то связано с тем, как вы получаете Rails 3 для включения файлов из каталога lib?

Спасибо

4b9b3361

Ответ 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)