Tutorial RESTful API dengan Ruby on Rails 4 + MySQL — PART 2 (Create, Update, Delete)

Belajar Ruby on Rails dengan MySQL — Part 2 (Create, Update, Delete)

Hudya
4 min readSep 21, 2018

Helo gengs! Akhirnya gue agak lebih cepet ya ngepostnya huheuheuheue. Oke di tutorial kali ini gue mau ngebahas lanjutan dari Tutorial RESTful API dengan Ruby on Rails 4 + MySQL — PART 1 (Read). Bagi yang baru baca post ini mohon untuk tidak skip ya daripada bingung hehe.

Oke langsung cus aja, kalo kemarin kita udah bahas mengenai read data dari database, sekarang kita akan ngebuat create, update, dan delete nya.

Sebelum kita ngebuat method untuk create, kita akan buat satu method untuk inisialisasi parameter apa saja yang diizinkan masuk ke database kita.

Method user_params digunakan untuk mengizinkan parameter apa saja yang akan masuk ke kolom table Users. Nah apabila kalian ga input parameter ini, data yang diterima oleh API gabisa dimasukkin ke database nantinya. Lalu pastikan nama parameter yang di permit atau diizinkan, sama dengan nama kolom kalian di database, karena si Ruby on Rails ini udah cukup smart untuk mengenali kolom table kalian lewat teks kalian loh, wah keren banget kan?

Selanjutnya adalah method notFound, penjelasannya ada dibawah ini ya ^^

# Untuk skip check authentication semacam CSRF Token di Laravel
skip_before_filter :verify_authenticity_token
# Handling ketika data not found saat update, dan delete
rescue_from ActiveRecord::RecordNotFound, with: :notFound

Selanjutnya kita akan tulis kode berikut yaitu si skip before filter dan rescue from. Apa fungsinya?

skip_before_filter adalah syntax yang kita gunakan untuk ngebypass (ngelewatin) filter dari si ruby, ya kalo di Laravel tuh harus pake CSRF-Token gitu. Nah karena kita pake API maka engga perlu deh pake gituan, kita singkirin aja dulu. Nah kalo syntax rescue_from kita gunakan kalau mendeteksi data yang tidak ditemukan. Sebagai contoh, saat kita mengupdate data dengan ID 5 (angka lima) nah bisa aja data tersebut tidak ada di Database. Daripada lari ke Page Runtime Error mending kita ganti aja pake response default Not Found yang udah kita inisialisasi, inilah fungsi dari notFound method yang udah kita buat. Kenapa kita gaboleh biarin lari ke Page Runtime Error? Nanti bakalan gabisa ditangkep sama frontend loh kalo gaada responsenya alias null hehehe.

Nah sekarang buat method create untuk masukkin data ke database.

Method insert ke database

Method diatas akan kita gunakan untuk masuk ke database, lanjut ngebuat method update

method update data ruby on rails

Nah ini method untuk update. Simple kan?

Jangan lupa untuk method delete dibawah ini

Eits tunggu dulu, jangan lupa Routesnya kita setting dulu di config ->routes.rb

# Example of regular route:
# get 'products/:id' => 'catalog#view'
get 'users' => 'home#index'
get 'users/:id' => 'home#show'
post 'users' => 'home#create'
put 'users/:id' => 'home#update'
delete 'users/:id' => 'home#destroy'

Nah kalo udah saatnya kita jalankan dengan cara? masih inget kan? yup

rails s

Yuk coba!

Nah gue udah coba insert, cek yuk mari

Nah masuk kan si Budi

Sekarang kita edit si Cindy

nah berubah kan si cindy

Terakhir delete deh, gue mau delete si Budi.

yak lenyap dah si budi.

Nah ini adalah fungsi dari rescue from, karena gue gapunya ID 12 maka dia akan munculin error Data Not Found.

Sekian terimakasih semoga bermanfaat ^^

--

--

Hudya
Hudya

Written by Hudya

Which is more difficult, coding or counting? Not both of them, the difficult one is sharing your knowledge to people without asking the payment.

No responses yet