Quickstarters
Feature Overview
How to Build a Backend for Ruby On Rails?
34 mnt
pendahuluan dalam tutorial ini, anda akan belajar bagaimana membangun backend untuk ruby on rails menggunakan back4app kita akan menjelajahi langkah langkah kunci untuk mengintegrasikan aplikasi rails anda dengan fitur fitur penting back4app—seperti interaksi database, fungsi cloud code, api rest dan graphql, otentikasi pengguna, dan kueri waktu nyata (kueri langsung)—semuanya berjalan di sisi server dengan memanfaatkan bahasa pemrograman ruby, anda akan membangun arsitektur yang kuat dan dapat diskalakan yang selaras dengan pola pengontrol tampilan mvc di rails, memungkinkan pengembang untuk mempercepat pengembangan aplikasi web anda juga akan menemukan bagaimana back4app secara drastis mengurangi waktu dan usaha dengan menyederhanakan manajemen server dan database fitur otomatis ini dapat menyelamatkan anda dari pengaturan server web secara manual atau menghadapi infrastruktur yang kompleks pada akhirnya, anda akan memiliki struktur yang fleksibel dan aman, siap untuk produksi atau ekspansi lebih lanjut—seperti integrasi tambahan dan logika kustom yang lebih canggih apakah anda ingin menyajikan halaman web atau menggerakkan aplikasi web berbasis data, rails dan back4app menawarkan sinergi yang mulus untuk menciptakan solusi modern dalam bahasa pemrograman yang populer prasyarat untuk menyelesaikan tutorial ini, anda akan memerlukan akun back4app dan proyek back4app baru memulai dengan back4app https //www back4app com/docs/get started/new parse app jika anda tidak memiliki akun, anda dapat membuatnya secara gratis ikuti panduan di atas untuk menyiapkan proyek anda lingkungan pengembangan ruby on rails pastikan anda telah menginstal ruby (sebaiknya versi 2 7 atau lebih tinggi) dan gem rails (rails 6 atau lebih tinggi) instal rails https //guides rubyonrails org/getting started html klien ruby parse jika anda berniat menggunakan sdk parse secara langsung, anda dapat menginstal klien ruby parse https //github com/parse community/parse sdk ruby gem untuk menangani operasi data dengan back4app keterampilan dengan rails mvc jika anda baru mengenal ruby on rails, tinjau panduan resmi rails https //guides rubyonrails org/ atau tutorial pemula untuk memahami arsitektur mvc controller tampilan rails sebelum memulai pastikan prasyarat ini sudah terpenuhi sebelum anda mulai memiliki proyek back4app anda yang sudah disiapkan, ditambah dengan aplikasi rails yang sudah siap, memastikan pengalaman tutorial yang lancar langkah 1 – membuat proyek baru di back4app dan menghubungkan buat proyek baru langkah pertama dalam menyiapkan backend sisi server untuk aplikasi rails anda adalah membuat proyek baru di back4app jika anda belum melakukannya masuk ke akun back4app anda klik tombol “aplikasi baru” di dasbor back4app anda beri nama aplikasi anda (misalnya, “rails backend tutorial”) setelah proyek dibuat, itu akan terlihat di dasbor back4app anda proyek baru ini membentuk inti dari semua konfigurasi backend dalam tutorial ini hubungkan sdk parse (opsional parse ruby client) untuk memperlancar interaksi basis data dan kueri waktu nyata, back4app menggunakan platform parse jika anda ingin mengintegrasikan server rails anda dengan parse secara langsung, anda dapat menginstal gem parse ruby client jika tidak, anda dapat mengandalkan endpoint rest atau graphql standar ambil kunci parse anda di dasbor back4app anda, pergi ke “pengaturan aplikasi” atau “keamanan & kunci” aplikasi anda untuk menemukan id aplikasi dan kunci api rest anda juga akan mendapatkan url server parse (misalnya, https //parseapi back4app com ) tambahkan gem parse ruby client ke gemfile gem 'parse ruby client' kemudian jalankan bundle install inisialisasi parse dalam initializer, seperti config/initializers/parse rb \# config/initializers/parse rb require 'parse' parse init application id 'your application id', api key 'your rest api key', server url 'https //parseapi back4app com' pada titik ini, aplikasi rails anda dapat berkomunikasi dengan back4app untuk menyimpan dan mengambil data, mengatur logika kustom, dan lainnya pendekatan terintegrasi ini menyederhanakan cara aplikasi ruby on rails anda menangani backend langkah 2 – menyiapkan basis data membuat model data dalam banyak aplikasi web , anda mendefinisikan struktur data anda di rails menggunakan migrasi activerecord dengan back4app, anda juga memiliki opsi untuk membangun skema anda langsung di dasbor misalnya, jika anda memiliki model todo navigasikan ke “database” di dasbor back4app anda buat kelas baru bernama “todo” dan tambahkan kolom seperti title (string) dan iscompleted (boolean) back4app mendukung string , number , boolean , date , file , pointer , relation , array , geopoint , dan polygon rails biasanya mengelola ini dalam definisi modelnya, tetapi anda juga dapat membiarkan parse membuat kolom secara otomatis saat penyimpanan pertama (jika anda menggunakan parse sdk atau rest/graphql apis) membuat model data menggunakan agen ai agen ai back4app dapat mengotomatiskan pembuatan skema buka agen ai dari dasbor anda deskripsikan model data anda (misalnya, “tolong buat aplikasi todo baru dengan skema kelas yang lengkap ”) biarkan agen menghasilkan skema anda membaca dan menulis data menggunakan sdk jika anda memilih untuk mengintegrasikan parse ruby client , anda dapat menyimpan catatan seperti ini \# app/controllers/todos controller rb def create todo class = parse object new('todo') todo class\['title'] = params\[ title] todo class\['iscompleted'] = false begin todo class save render json { message 'todo saved successfully' } rescue => e render json { error e message }, status 500 end end def index query = parse query new('todo') results = query get render json results end membaca dan menulis data menggunakan rest api sebagai alternatif, anda dapat menggunakan panggilan rest dari dalam kode rails anda (atau klien eksternal mana pun) misalnya, untuk membuat sebuah todo curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "finish rails guide", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo membaca dan menulis data menggunakan graphql api back4app juga menawarkan graphql mutation { createtodo(input { fields { title "plan web pages" iscompleted false } }) { todo { objectid title iscompleted } } } bekerja dengan live queries (opsional) jika anda ingin pembaruan waktu nyata di aplikasi rails anda , anda dapat berlangganan live queries dari klien front end atau websocket aktifkan live queries di pengaturan server back4app anda, lalu sambungkan ke wss\ //your subdomain b4a io untuk aliran perubahan yang sedang berlangsung ini berguna untuk aplikasi web dinamis yang memerlukan penyegaran data segera langkah 3 – menerapkan keamanan dengan acl dan clp ikhtisar singkat keamanan sangat penting dalam pengembangan aplikasi web back4app menawarkan daftar kontrol akses (acl) dan izin tingkat kelas (clp) untuk mengontrol visibilitas data di tingkat objek dan kelas ini membantu memastikan hanya pengguna yang terautentikasi atau berwenang yang dapat membaca/menulis data sensitif mengatur izin tingkat kelas pergi ke database di dasbor back4app anda pilih kelas (misalnya, “todo”) buka tab clp untuk mengonfigurasi akses baca/tulis berdasarkan peran, pengguna terautentikasi, atau publik mengonfigurasi acl anda dapat mengatur acl pada objek sehingga hanya pengguna tertentu yang dapat membacanya atau memodifikasinya di rails dengan parse ruby client , mungkin terlihat seperti ini todo = parse object new('todo') acl = parse acl new \# set read/write for a user acl set read access for(user id, true) acl set write access for(user id, true) todo acl = acl todo save langkah 4 – menulis fungsi cloud code mengapa cloud code cloud code menjalankan javascript sisi server, memungkinkan pengembang untuk menambahkan logika kustom, pemicu, dan validasi tanpa mengelola server web anda mungkin ingin menangani logika server tambahan atau melakukan pemeriksaan sebelum menyimpan data contoh fungsi berikut adalah contoh dalam javascript sementara server rails anda menangani aplikasi utama, anda masih dapat menggunakan cloud code untuk memproses data parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); penerapan terapkan melalui back4app cli atau dari dasbor back4app cloud code adalah cara yang nyaman untuk mengenkapsulasi logika yang dibagikan di antara semua klien, terlepas dari bahasa pemrograman yang mereka gunakan dengan dukungan modul berbasis node (npm), anda dapat mengintegrasikan paket eksternal dengan mulus langkah 5 – mengonfigurasi autentikasi aktifkan autentikasi pengguna back4app mengelola pendaftaran pengguna, login, dan sesi dengan kelas pengguna bawaan parse anda dapat membuat pengguna dengan panggilan rest atau melalui sdk resmi mana pun curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"username" "john", "password" "secretpass"}' \\ https //parseapi back4app com/users login sosial anda dapat mengintegrasikan alur masuk facebook, google, atau apple setiap penyedia memiliki pendekatan yang sedikit berbeda, tetapi prinsip utamanya adalah menukar token dengan parse periksa dokumentasi login sosial https //www back4app com/docs/platform/sign in with apple untuk detail tentang cara mengintegrasikan ini ke dalam aplikasi rails langkah 6 – menangani penyimpanan file mengatur penyimpanan file menggunakan parse untuk file semudah mengunggahnya melalui api parse jika anda menggunakan parse ruby client file data = file open('path/to/image jpg') parse file = parse file new('image jpg', file data) begin parse file save puts "file uploaded #{parse file url}" rescue => e puts "error uploading file #{e message}" end contoh anda kemudian dapat melampirkan file ini ke objek photo obj = parse object new('photo') photo obj\['imagefile'] = parse file photo obj save langkah 7 – verifikasi email dan reset kata sandi aktifkan verifikasi email di dasbor back4app anda di bawah pengaturan email atur reset kata sandi dengan menyesuaikan template email dan pengaturan domain trigger alur email secara otomatis setelah pendaftaran pengguna atau ketika pengguna meminta reset kata sandi ini memastikan keamanan yang lebih baik dan membantu mengonfirmasi kepemilikan email yang valid langkah 8 – penjadwalan tugas dengan cloud jobs pekerjaan cloud jika anda ingin mengotomatiskan tugas seperti membersihkan data atau mengirim ringkasan harian, gunakan pekerjaan cloud parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); anda dapat menjadwalkan pekerjaan semacam itu di dasbor back4app di bawah pengaturan server > pekerjaan latar belakang untuk dijalankan setiap hari atau pada interval yang diinginkan langkah 9 – mengintegrasikan webhook webhook memungkinkan aplikasi back4app anda mengirim data ke url eksternal setiap kali peristiwa tertentu terjadi anda dapat meneruskan data objek baru atau yang diperbarui ke sistem lain—seperti stripe atau slack pergi ke lebih banyak > webhooks di dasbor back4app anda tambahkan webhook baru yang mengarah ke url eksternal anda (misalnya, rute di pengontrol rails anda) tentukan peristiwa yang memicu webhook jika anda mau, anda juga dapat memicu webhook dari cloud code dengan membuat permintaan http dalam fungsi beforesave atau aftersave langkah 10 – menjelajahi panel admin back4app aplikasi back4app admin app menawarkan cara yang ramah pengguna bagi tim non teknis atau klien untuk melakukan operasi crud pada data back4app anda antarmuka ini menghilangkan kebutuhan untuk perubahan kode langsung atau penggunaan parse dashboard untuk tugas dasar di mana menemukannya anda dapat mengaktifkan aplikasi admin dari dasbor anda dengan pergi ke more > admin app dan mengklik enable admin app fitur setelah diaktifkan, anda dapat membuat dan mengelola data tanpa menulis kueri memantau log, menjadwalkan pekerjaan latar belakang, dan menangani notifikasi push (jika diaktifkan) memberikan akses berbasis peran kepada anggota tim untuk pengeditan yang lebih aman kesimpulan selamat! anda telah belajar bagaimana membangun backend untuk ruby on rails menggunakan back4app dalam tutorial ini, anda telah mengonfigurasi proyek rails untuk berinteraksi dengan back4app melalui rest, graphql, atau parse ruby client menyiapkan interaksi database yang aman menggunakan skema kelas, acl, clp, dan live queries opsional mengintegrasikan otentikasi pengguna dengan verifikasi email dan pengaturan ulang kata sandi menyebarkan cloud code untuk logika kustom, pemicu, dan tugas terjadwal mengelola unggahan file , memanfaatkan webhook, dan menjelajahi panel admin dengan menggabungkan arsitektur mvc ruby on rails dengan fitur kuat back4app, aplikasi rails anda dapat berkembang dengan mulus anda akan menghemat waktu yang cukup besar dalam mengelola infrastruktur, memungkinkan anda berkonsentrasi pada pembangunan aplikasi web dengan pengalaman pengguna yang lebih baik dan logika sisi server yang dapat diandalkan langkah selanjutnya perluas aplikasi rails anda dengan menambahkan hubungan yang lebih kompleks, strategi caching, atau integrasi lanjutan inkorporasi api pihak ketiga (seperti gerbang pembayaran) dan manfaatkan cloud code untuk pengembangan aplikasi web yang lebih dalam jelajahi dokumentasi resmi back4app untuk keamanan lanjutan, penyetelan kinerja, analisis log, dan lainnya bereksperimen dengan fitur real time untuk membuat aplikasi chat atau platform kolaboratif—ideal untuk data yang sering berubah dengan dasar dasar ini, anda dapat dengan cepat mengembangkan, mengiterasi, dan menskalakan server rails anda untuk aplikasi web modern selamat coding!