Jika saya perlu menambahkan kelas (khusus proyek) ke pengontrol saya di Rails, apa cara/tempat yang benar untuk meletakkan dan "menyertakan" mereka/di sana file .rb? (kutipan untuk: bukan kata kunci ruby yang disertakan)
Saya baru mengenal Rails, dan tidak menemukan cara yang benar. LIB terdengar seperti perpustakaan umum lainnya dan - apa yang telah saya pelajari - tidak dimuat ulang secara default dalam mode dev.
tentu, saya bisa memasukkan semuanya ke controler.rb, tapi ...
jawaban untuk saya:
Pertama: tidak ada aturan, jika Anda ingat (atau belajar seperti saya) aturan Rails: NameOfCla -> name_of_cla(.rb) ‹-- tidak menggunakan kelas sebagai kata untuk kejelasan
beri nama kelas Anda sesuka Anda:
class ExtendCon #<--- not using controller here for clearence
....
taruh di file extend_con.rb
, tunggu penjelasan pathnya ya. jika Anda menamai kelas Anda 'MYGreatThing' itu akan menjadi 'm_y_great_thing' (jangan pernah mengujinya), jadi hindari karakter Cina
jika pengontrol Anda menggunakan
@letssee=ExtendCon.new
rails mempelajari kelas dan file itu (extend_con) sendiri. saya masih tidak tahu apakah server perlu dihidupkan ulang. (pertama kali)
pilih jalur untuk meletakkan file: (Saya lebih suka cara Daves) app/myexten
atau apa pun yang Anda suka, menjadikannya 'aplikasi' khusus dan masih berbeda dengan 'sesuatu' rel standar
jika Anda tidak malas seperti saya (saya taruh di aplikasi/pengendali) masukkan jalur yang Anda pilih ke config/application.rb
suka (komentar ada untuk menemukannya)
# Custom directories with classes and modules you want to be autoloadable.
# config.autoload_paths += %W(#{config.root}/app/controllers)
config.autoload_paths += %W(#{config.root}/app/myexten)
yang ini berfungsi untuk saya di semua mode termasuk "pengembang" dan saya tidak perlu memasukkan barang-barang "milik saya" ke dalam app/lib