Как я могу создать глобально доступные модули в Rails? - PullRequest
2 голосов
/ 09 декабря 2011

В Rails я могу создавать глобальные модели (доступные в любом месте приложения).Тем не менее, я хотел бы создать некоторые конструкции, которые являются глобальными, но не соответствуют какой-либо таблице базы данных (именно поэтому они не могут быть моделями) и никогда не будут создаваться (поэтому мне нужны модули вместо классов).

Я пытался использовать каталог initializer, который работает, но раздражает, потому что он требует перезапуска сервера каждый раз, когда я изменяю значение (тогда как я могу изменить код в моих моделях без перезапуска сервера).Каков наилучший способ создания глобально доступных модулей таким способом?

Ответы [ 2 ]

5 голосов
/ 09 декабря 2011

Просто поместите его в подкаталог lib и добавьте его в config/application.rb:

config.autoload_paths += ["#{config.root}/lib"]
1 голос
/ 09 декабря 2011

Помимо добавления модулей в каталог lib (что подходит), вы также можете поместить классы в каталог моделей.Они не должны быть основаны на ActiveRecord.

...