我已经看到了很多关于放置自定义验证类(扩展ActiveModel :: EachValidator)的最佳位置的线程,但无法确定哪一个是最佳实践.一些线程和教程说把它们放在'lib /'并修改'/config/application.rb',其他线程说如果你只是把它们放在'app/validators'中,它们会被自动包含在内......对此有何看法?这是什么最好的做法?
'libs /'解决方案有一个缺点,因为你必须修改'/config/application.rb',但据我所知,将它放在'app/validators'中会包含它,尽管你必须添加一个目录到app文件夹.这是正确的吗?谢谢!
是的,当您将自定义验证器放入“app/validators”中时,它将自动包含在内。当您使用目录“lib”或“lib/validators”时,您必须将此行放入 config/application.rb 文件中:
config.autoload_paths += %W(#{config.root}/lib)
Run Code Online (Sandbox Code Playgroud)
或者
config.autoload_paths += %W(#{config.root}/lib/validators)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1420 次 |
| 最近记录: |