Saya telah melihat dokumen / situs web menunjukkan bahwa validator khusus harus masuk ke direktori /lib
atau /lib/validators
proyek. Saya telah menemukan (dengan membaca jawaban untuk posting lain) bahwa mereka sepertinya hanya berfungsi config/initializers
. Adakah yang tahu, atau memiliki petunjuk ke dokumentasi resmi yang menunjukkan di mana validator kustom harus tinggal?
ruby-on-rails
validation
customvalidator
Daniel D
sumber
sumber
Jawaban:
Jika Anda menempatkan validator khusus Anda di dalamnya,
app/validators
mereka akan dimuat secara otomatis tanpa perlu mengubahconfig/application.rb
file Anda .sumber
spring stop
diperlukan bagi saya di Rails 5.2, jika tidak maka tidak akan terangkat.Jika Anda menambahkan ini ke file /config/application.rb Anda:
Kemudian Rails akan secara otomatis memuat validator Anda saat start up (seperti / config / initializers /), tetapi Anda tetap menjaga struktur yang bersih dengan memiliki validator di satu tempat yang bagus dan dinamai baik.
sumber
config.autoload_paths += %W(#{config.root}/lib/validators/)
lib/validators
tampaknya sejauh ini yang terbersih. Namun Anda mungkin perlu memuatnya sebelum model Anda, jadi mungkin dari penginisialisasi.sumber
Berikut dokumen resmi tentang validasi kustom. AFAIK adalah praktik yang baik untuk mempertahankannya dalam model yang relevan.
sumber