95

我已经看到文档/网站显示自定义验证器应该放在项目的/libor/lib/validators目录中。我发现(通过阅读另一篇文章的答案)它们似乎只适用于config/initializers. 有谁知道,或者有一个指向官方文档的指针,显示自定义验证器应该放在哪里?

4

4 回答 4

221

如果您将自定义验证器放入其中,app/validators它们将自动加载,而无需更改您的config/application.rb文件。

于 2011-07-07T12:03:39.590 回答
15

如果将其添加到 /config/application.rb 文件中:

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

然后 Rails 将在启动时自动加载您的验证器(就像 /config/initializers/ 一样),但您保持将验证器放在一个不错的、命名良好的位置的简洁结构。

于 2011-04-08T21:16:28.157 回答
6

lib/validators似乎是迄今为止最干净的。但是,您可能需要在模型之前加载它们,因此可能来自初始化程序。

于 2011-03-10T17:18:16.117 回答
4

这是有关自定义验证的官方文档。AFAIK 将它们保留在相关模型中是一种很好的做法。

于 2011-03-10T17:16:30.150 回答