Где должны храниться пользовательские валидаторы Rails 3?

Я видел документы / сайты, показывающие, что пользовательские валидаторы должны идти в /lib или же /lib/validators каталог проекта. Я обнаружил (прочитав ответ на другой пост), что они, кажется, работают только в config/initializers, Кто-нибудь знает или имеет указатель на официальную документацию, которая показывает, где должны жить пользовательские валидаторы?

4 ответа

Решение

Если вы разместите свои собственные валидаторы в app/validators они будут автоматически загружены без необходимости изменять config/application.rb файл.

Если вы добавите это в свой файл /config/application.rb:

config.autoload_paths += %W["#{config.root}/lib/validators/"]

Затем Rails автоматически загрузит ваши валидаторы при запуске (точно так же, как /config/initializer /), но вы сохраните чистую структуру наличия ваших валидаторов в одном хорошем, хорошо названном месте.

lib/validators кажется, безусловно, самый чистый. Однако вам может потребоваться загрузить их перед вашими моделями, так что, вероятно, из инициализатора.

Вот официальные документы о пользовательских проверках. AFAIK это хорошая практика, чтобы держать их в соответствующих моделях.

Другие вопросы по тегам