93 docs / websitesがカスタムバリデーターをプロジェクトの/libまたは/lib/validatorsディレクトリに配置する必要があることを示しているのを見てきました。私は(別の投稿への回答を読むことにより)でのみ機能しているようだとわかりましたconfig/initializers。誰かが知っているか、またはカスタム検証がどこにあるべきかを示す公式ドキュメントへのポインタを持っていますか? ruby-on-rails validation customvalidator — ダニエルD ソース 受け入れられた回答フラグを変更するのはどうですか? — JJD 2013年
220 カスタムバリデーターを配置するapp/validatorsと、config/application.rbファイルを変更する必要なく自動的にロードされます。 — GBC ソース これに追加する必要のあるgem / configがあるかどうかはわかりませんが、rails 3.2.8ではこれは機能しません。具体的には、単にバリデーターをapp / validators / ???。rbにドロップするだけでは機能しません。 — Doug 17 ダグは、バリデータクラスの名前が、強調されたバリデータファイルと同じように名前を付けるために試してみてください。MyCoolValidatorアプリに行く/バリ/ my_cool_validator.rb — equivalent8 14 @Dougはサーバーを再起動する必要があります。自動ロードパスは初期化時に展開されるため、そうするまで新しいサブフォルダーは取得されません。 — Timo 私はまた、Monkeypatch ActiveModel :: Validations :: HelperMethodsを使用して、新しい検証のヘルパーを追加します(たとえば、AddressValidatorのvalidates_address)。monkeypatchとValidatorの両方をapp / validators / address_validator.rbに含めると、Monkeypatchではなく、AddressValidatorオブジェクトのみが読み込まれます。あなたたちは同じ行動を経験していますか? — jshkol 2012 1 spring stopRails 5.2では私にとって必要でしたが、それ以外の場合は採用されませんでした。 — Jack Kinsella
15 これを/config/application.rbファイルに追加した場合: config.autoload_paths += %W["#{config.root}/lib/validators/"] 次に、Railsは起動時にバリデーターを自動的にロードします(/ config / initializers /と同様)。 — gunit888 ソース 9 良いアイデアですが、コードにはいくつかのクリーンアップが必要です: config.autoload_paths += %W(#{config.root}/lib/validators/) — aNoble
6 lib/validatorsはるかにきれいなようです。ただし、モデルの前にそれらをロードする必要がある場合があるため、おそらくイニシャライザからロードする必要があります。 — ヤクブ・ハンプ ソース
4 ここだ公式ドキュメントのカスタム検証については。AFAIKは、適切なモデルでそれらを保持することをお勧めします。 — シュレヤス ソース 5 それらが複数のモデルに適用できる場合を除いて、その場合は、それらを別の場所に置いて乾燥状態を維持する必要があります。 — Andrew Marshall それはおそらく彼らがそうであるものです。そうでなければ、それらのために別個のクラスを作成することにはほとんど意味がありません。 — Jakub Hampl、2011年 7 @Jakubはい、あります。単一の責任の原則 — mattwynne 2 公式ドキュメントへのリンクが壊れています。これがそのドキュメントの現在の場所です。guides.rubyonrails.org/…– Stijnster '23 — 09/15