应该在哪里存储Rails 3自定义验证器?

时间:2011-03-10 17:14:34

标签: ruby-on-rails validation customvalidator

我见过文档/网站显示自定义验证程序应该放在项目的/lib/lib/validators目录中。我发现(通过阅读另一篇文章的答案)他们似乎只在config/initializers中工作。有没有人知道,或者有一个指向官方文档的指针,显示自定义验证器应该存在的位置?

4 个答案:

答案 0 :(得分:220)

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

答案 1 :(得分:15)

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

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

然后Rails会在启动时自动加载验证器(就像/ config / initializers /一样),但是你保持干净的结构,让你的验证器在一个很好的,名字很好的位置。

答案 2 :(得分:6)

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

答案 3 :(得分:3)

以下是关于自定义验证的official docs。 AFAIK是一个很好的做法,可以让他们保持相关的模型。