Menggunakan Pundit Policy untuk Mengelola Permitted Parameter, Default dan Per Action
Untuk mengelola permitted params, Anda dapat menambahkan permitted\attributes dan permitted\attributes\for\#{action} di policy Anda, misalnya:
Menggunakan `requestSubmit` untuk Submit Form dengan Turbo
Turbo mendengarkan event submit pada form. Oleh karena itu, selalu gunakan requestSubmit untuk men-submit form menggunakan JS.
Mengabaikan Bundled Gems untuk Rubocop dan ESLint di GitHub Actions
Proyek Rails sering menginstal gem ke direktori vendor di GitHub Actions agar gem tersebut dapat di-cache untuk eksekusi berikutnya.
Rails 6, Ruby 3, Bootstrap 5, dan Hotwire
Melengkapi blogpost dari Bootrails dengan Hotwire: Semua hal baru yang keren (saat TIL ini ditulis):
Cache-Control di Rails
Untuk mengaktifkan pengaturan header cache-control pada aset statis dan menggunakan CDN di Heroku:
Memperbaiki Input di Rails Console Heroku
Jika Anda menempelkan banyak baris ke rails console di Heroku (atau di tempat lain), Anda mungkin mengalami masalah baris-baris yang "bercampur" satu sama lain.
ID Unik untuk DOM di Rails
Rails memiliki banyak view helper yang hebat, salah satunya adalah dom\id:*
Menambahkan Tipe Baru ke Attributes API Rails 5
Attributes API di Rails 5 memungkinkan kita membuat form object dengan sangat mudah.
Melampirkan File ke ActiveStorage tanpa HTTP
Jika Anda ingin melampirkan file yang dibuat di disk atau diunduh dari URL yang dikirimkan pengguna, Anda dapat melakukannya seperti ini.
Membuat Hash dari Enumerable (Rails 6.0)
Method baru yang memungkinkan Anda membuat Hash dari Enumerable:
Membuat Migration yang Idempoten
Saat menulis migration yang destruktif, gunakan if\exists: true ketika Anda menghapus tabel, dan periksa keberadaan tabel ketika Anda ingin menambah atau menghapus kolom…
Cara Menemukan God Object di Proyek Anda (Rails)
Buka root proyek Anda dan cd ke app/models (tentu saja menggunakan CLI), lalu jalankan wc -lw \ | sort -u*
Form HTML yang Mengirim ke Action Lain
Sudah lama saya tahu bahwa Anda dapat mengirim nilai melalui tombol submit, sehingga Anda bisa melacak tombol mana yang digunakan untuk mengirim form, misalnya:
Jika Anda Ingin Menimpa Urutan yang Sudah Diatur Sebelumnya
Jika Anda ingin menimpa urutan yang sudah diatur sebelumnya (bahkan melalui default\_scope), gunakan reorder() sebagai gantinya.
Membatasi Asosiasi has_many
Membatasi asosiasi has_many
Menampilkan Daftar Nama Model Anda
CATATAN: RUBYOPT=-W0 menekan peringatan sehingga output tidak terlalu ramai saat menjalankan perintah rails.
Fungsi Postgres & Query Non-sargable
Menggunakan fungsi postgres di dalam klausa where dapat membuat query menjadi non-sargable.
UPDATE Join di PostgreSQL
Query ini menunjukkan cara menggunakan sintaks UPDATE join di PostgreSQL untuk memperbarui data dalam sebuah tabel berdasarkan nilai di tabel lain. Contohnya:
Menggabungkan Scope dengan or di Rails
scope :human, -> { user.or(author) } scope :terminator, -> { admin.or(robot) } `
Menampilkan TODO dan Catatan Lainnya di Aplikasi Rails Anda
Tahukah Anda bahwa Anda dapat menampilkan semua TODO/OPTIMIZE/FIXME di aplikasi Rails Anda dengan rails notes?
Menandai Log Rails dengan Informasi yang Berguna
Baru saja belajar tentang tagged logging di rails. Tahukah Anda bahwa Anda dapat menandai log dengan menggunakan
Gunakan minItems/maxItems di JSON Schema Koleksi
Agar JSON schema koleksi Anda lebih andal, gunakan minItems dan maxItems sehingga Anda dapat memercayai API Anda.
Punya proyek yang ingin diwujudkan?
Kami ingin mendengar apa yang sedang Anda bangun.