web-dev-qa-db-ja.com

Rails 3つのカスタムバリデータを保存する必要がありますか?

Docs/websitesがカスタムバリデーターが/libまたは/lib/validatorsプロジェクトのディレクトリ。 (別の投稿への回答を読むことで)彼らはconfig/initializers。カスタムバリデータがどこにあるべきかを示す公式ドキュメントを知っている、または持っているポインタを持っていますか?

93
Daniel D

カスタムバリデータをapp/validatorsに配置すると、config/application.rbファイルを変更することなく自動的にロードされます。

220
gbc

これを/config/application.rbファイルに追加する場合:

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

その後、Railsは起動時にバリデータを自動的にロードします(/ config/initializers /と同様)。ただし、バリデータを適切な名前のスポットに配置するというクリーンな構造を維持します。

15
gunit888

lib/validatorsが最もきれいに見えます。ただし、モデルの前に、おそらく初期化子からロードする必要がある場合があります。

6
Jakub Hampl

カスタム検証に関する 公式ドキュメント を次に示します。知る限り、関連モデルにそれらを保持することをお勧めします。

4
Shreyas