Rails 3自定义validation器应该存储在哪里?
我看过文档/网站显示自定义validation器应该在项目的/lib
或/lib/validators
目录中。 我发现(通过阅读另一篇文章的答案),他们似乎只能在config/initializers
。 有谁知道,或有一个指向官方文件的指针,显示自定义validation器应该居住在哪里?
如果将自定义validation器放在app/validators
它们将自动加载,而无需更改config/application.rb
文件。
如果你添加到你的/config/application.rb文件中:
config.autoload_paths += %W["#{config.root}/lib/validators/"]
然后,Rails会自动加载你的validation器(就像/ config / initializers /),但是你保持一个干净的结构,把你的validation器放在一个很好的,有名的点上。
lib/validators
似乎是最干净的。 但是,您可能需要在模型之前加载它们,所以可能需要从初始化程序中加载它们。
这里是关于自定义validation的官方文档 。 AFAIK是一个很好的做法,让他们在相关的模型。