Setelah pada artikel sebelumya kita telah berhasil membuat validasi, relasi, dan menggunakan scope pada Rails, selanjutnya kita akan membuat fitur autentikasi dengan menggunakan Devise.
Devise ? Untuk apa ?
Devise adalah salah satu gem pada Rails yang berfungsi untuk menangani masalah autentika dengan mudah. Devise memiliki kelebihan sebagai berikut.
- Rack based
- Lengkap dengan Model, View, dan Cotroller
- Megizinkan suatu aplikasi untuk memiliki multiple model untuk melakukan autentikasi
- Dibuat secara modularitas, sehingga memudahkan penggunaan gem ini dengan hanya menggunakan fitur/module yang dibutuhkan.
Gem ?. Apa itu gem ?. Pada Rails terdapat file konfigurasi yang digunakan untuk me-list gem mana saja yang diguakan. Gem ini seperti library atau perpustakaan yang biasanya dapat ditemukan di RubyGems.
Cara Menambahkan Gem Devise pada Rails
Untuk menginstall devise ini dapat dilakukan dengan membuka Gemfile pada folder aplikasi. Misalnya, saya akan meggunakan devise untuk aplikasi homework_management.
Letak Gemfile pada Project |
Tambahkan script berikut pada Gemfile.
gem 'devise'
dan pada terminal pindah ke folder project yang digunakan, dan jalankan perintah berikut.bundle install
Mengatur Gem Devise pada Project
Jalankan perintah berikut pada terminalrails generate devise:install
Perintah tersebut akan menghasilkan file konfigurasi pada folder config/initializers/devise.rb.
Konfigurasi Devise
Pastikan bahwa konfigurasi default url options pada environtments files telah dibuat. Untuk mengatur default url options, buka file environtment pada folder config/environtments/development.rb.config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
end
sebelum keyword end.
Lalu buka file application.html.erb yang terletak pada folder app/views/layouts/ dan tambahkan baris berikut.
tepat di atas
<%= yield %>
Konfigurasi User Model
Selajutnya kita akan membuat user model, dimana model ini berfungsi untuk menyimpan data-data user. Untuk pembuatan user model ini akan diintegrasikan dengan devise. Caranya adalah pada terminal jalankan perintah berikut.
rails g devise user
Dengan menjalankan perintah tersebut, maka akan menghasilkan file migrasi user dan model user.
Setelah itu jangan lupa untuk menjalankan perintah
rake db:migrate
untuk memproses file migrasi yang telah dibuat.Setelah melakukan generate devise maka pada file config/routes.rb akan mengalami perubahan. Perubahan tersebut adalah sebagai berikut.
Coba jalankan perintah berikut pada terminal dan lihat url apa saja yang dihasilkan dari men-generate devise
rails routes
Membuat User untuk Pertama Kali
Membuat User untuk Pertama Kali
Langkah selanjutnya, kita akan melakukan modifikasi pada view untuk menampilkan link login dan register ketika pertama kali membuka halaman http://localhost:3000/.
Untuk membuat user, jika perintah tadi telah dilakukan dengan benar maka untuk mendaftarkan user tinggal buka url http://localhost:3000/users/sign_up. Halaman tersebut adalah halaman untuk membuat/registrasi user.
Halaman Registrasi User
Modifikasi View
Langkah selanjutnya, kita akan melakukan modifikasi pada view untuk menampilkan form login ketika pertama kali membuka halaman http://localhost:3000/.
Yang pertama akan kita lakukan adalah membuat navigasi yang akan muncul di setiap halaman. Navigasi ini untuk mengetahui informasi mengenai user login dan link untuk logout. Navigasi ini akan dibuat secara parsial. Perlu diingat, penamaan untuk file parsial harus diawali dengan tanda "_" (underscore).
Lalu, pada bagian atas pada tipa view yang membutuhkan login kita tambahkan script berikut. Contohnya pada halaman tambah data homework.
Lalu, pada bagian atas pada tipa view yang membutuhkan login kita tambahkan script berikut. Contohnya pada halaman tambah data homework.
Modifikasi Controller
Selanjutnya, kita perlu melakukan modifikasi pada controller. Yang harus dilakukan adalah tambahkan script berikut pada application_controller.rb yang terletak pada folder app/controllers.
Sekarang coba jalankan kembali project dengan cara menjalankan perintah berikut pada terminal. lalu lakukan restart terhadap server terminal
Langkah-langkah di atas adalah salah satu cara untuk penggunaan gem devise pada project Rails. Gem "DEVISE" ini sangat berguna untuk menangani autentikasi di Rails dengan segala kemudahan yang diberikannya.
Sekian untuk pembelajaran kali ini mengenai penggunaan "DEVISE". Diharapkan tutorial ini menjadi salah satu pembelajaran yang mudah dimengerti bagi kita semua.
Fathara Annisa Azka | C-aio Indonesia
Tidak ada komentar:
Posting Komentar