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

Я видел документы/сайты показывают, что пользовательские валидаторы должны идти в /lib или

4 ответов


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


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

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

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


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


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