Как мне сослаться на пользовательский класс в lib из одной из моих моделей? - PullRequest
0 голосов
/ 18 февраля 2011

Если я создаю файл в lib/ с именем toast_mitten.rb, и в этом файле у меня есть класс с именем ToastMitten, как мне использовать этот класс из моих моделей?

Например, внутриметод класса Comments (одна из моих моделей), если я пытаюсь вызвать ToastMitten.grasp, я получаю сообщение об ошибке типа uninitialized constant Comment::ToastMitten.

Созданный мною класс предназначен для СУШКИ нескольких повторенийкод в обеих моих моделях и грабли.

Ответы [ 2 ]

2 голосов
/ 18 февраля 2011

Rails 3 не загружает lib

Проблема была в том, что lib не загружался автоматически.Я использую Rails 3.0.0.Очевидно, команда Rails решила прекратить автозагрузку lib в Rails 3, как здесь говорит Хосе Валим .

Чтобы загрузить его, я добавил это к application.rb:

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

Мой коллега говорит мне, что мои другие варианты будут:

  • Добавить его в config/initializers
  • Явно require в модели, где я хочуиспользовать его
0 голосов
/ 18 февраля 2011

Это должно работать так, поэтому, если вы получили ошибку, попробуйте перезапустить сервер или проверьте на наличие опечаток. Было бы полезно, если бы вы показали файл toast_mitten

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...