Senin, 28 Oktober 2024

Seri Belajar Ruby on Rails - Introducing Rails 7

Rails menyediakan generator pemanggil script yang ditujukan untuk membuat proses pengembangan menjadi lebih mudah. Pada tutorial ini penulis menggunakan ruby versi rails 7.2.1 dengan ruby 3.1.4. Untuk menggunakan generator untuk membuat Rails project baru, lakukan perintah berikut :

  1. pertama kali kita harus install dulu ruby depedency nya
  2. install depedency yang dibutuhkan seperti dibawah 
    sudo apt-get update
    
    sudo apt-get install git-core zlib1g-dev
    build-essential libssl-dev libreadline-dev libyaml-dev
    libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev 
    libcurl4-openssl-dev software-properties-common 
    libffi-dev
  3. tutorial ini akan menggunakan ASDF, ASDF alat manajemen versi untuk berbagai bahasa pemrograman dan alat pengembang. Dengan asdf, Anda dapat mengelola berbagai versi alat seperti Python, Node.js, Ruby, Elixir, dan banyak lagi dalam satu sistem
  4. install asdf dengan langkah berikut, ,kemudian tambahkan ke terminal anda :
    git clone https://github.com/excid3/asdf.git ~/.asdf
    echo '. "$HOME/.asdf/asdf.sh"' >> ~/.bashrc
    echo '. "$HOME/.asdf/completions/asdf.bash"' >> ~/.bashrc
    echo 'legacy_version_file = yes' >> ~/.asdfrc
    echo 'export EDITOR="code --wait"' >> ~/.bashrc
    exec $SHELL
      
  5. berikut syntax yang bisa di gunakan untuk manage asdf
    asdf list all ruby --> check all candidate ruby version in asdf
    asdf global ruby 3.1.4 --> use ruby global
    asdf install ruby 3.1.4 --> install ruby specific version
    asdf list ruby --> check installed ruby version
  6. selanjutnya lakukan perintah ini untuk menginstall rails
    gem install rails -v 7.2.1
  7. jika sudah kita bisa cek versi rails
    rails -v
  8. kemudian buat aplikasi dengan perintah berikut :
    rails new rails7_app -d postgresql
  9. lalu masukan perintah ini jika ada error saat running server
    rake db:create
  10. jika issue sudah hilang, maka bisa menyalakan server local
    rails server
  11. jika berhasil maka akan menghasilkan seperti ini :

Struktur Code Aplikasi 

Berikut penjelasan struktur aplikasi yang ada di rails 7 : 


  1. app

models: Tempat untuk semua Model. Model berinteraksi dengan database dan berisi logika bisnis aplikasi. Biasanya setiap model merepresentasikan tabel dalam database.

            Contoh: app/models/user.rb (Model untuk entitas pengguna)

controllers: Tempat untuk semua Controller. Controller menangani permintaan dari browser, memprosesnya, dan merespon dengan menampilkan View yang sesuai.

            Contoh: app/controllers/users_controller.rb

views: Menyimpan semua View. View adalah template yang akan dikirimkan ke pengguna sebagai respons HTML (atau format lainnya). Rails 7 mendukung template berbasis HTML ERB, Haml, Slim, dan lainnya.

            Contoh: app/views/users/index.html.erb

helpers: Modul yang berisi metode-metode pembantu untuk View, seperti fungsi format tanggal atau pembuatan link dinamis.


javascript: Rails 7 menggunakan integrasi dengan Import Maps atau Webpacker untuk mengelola berkas JavaScript. Biasanya JavaScript untuk front-end ditempatkan di sini.

            Contoh: app/javascript/application.js

channels: Folder ini digunakan untuk ActionCable, yang digunakan untuk implementasi WebSockets dalam Rails, misalnya untuk aplikasi real-time seperti chat.


mailers/: Digunakan untuk mengelola template dan logika pengiriman email.


assets/: Berisi file statis seperti gambar, CSS, dan JavaScript. Rails 7 menggunakan konfigurasi yang lebih modern, dan file statis bisa dikelola dengan berbagai tool, termasuk Sprockets atau Webpack.


  1. config

routes.rb : Mendefinisikan semua rute URL yang tersedia dalam aplikasi, menghubungkannya dengan controller yang tepat.


environments : Terdapat konfigurasi terpisah untuk lingkungan development, test, dan production.


database.yml : Mengatur koneksi ke database.


  1. db

migrate/: Folder ini berisi migration file, yaitu file untuk membuat atau mengubah struktur database. Rails menggunakan ActiveRecord untuk manajemen migration, yang memungkinkan modifikasi database secara version-controlled.

            Contoh: db/migrate/20241007123456_create_users.rb

seeds.rb: File yang digunakan untuk memuat data awal atau contoh ke dalam database.


  1. lib

Folder ini biasanya berisi modul atau library yang digunakan secara global dalam aplikasi. Biasanya digunakan untuk code yang tidak cocok masuk ke dalam model, controller, atau helper.

  1. test/spec

Folder ini digunakan untuk menyimpan tes unit, tes fungsi, dan tes integrasi untuk aplikasi Rails.

  1. bin

Berisi script yang dapat dieksekusi, seperti rails, rake, dan script untuk proses server.

  1. Gemfile

File ini berisi daftar semua gem (library Ruby) yang diperlukan oleh aplikasi. Ketika menjalankan bundle install, gems ini akan diunduh dan dipasang.

  1. log

Semua log aplikasi tersimpan di sini, baik untuk development, test, atau production environment.

  1. public

Berisi file statis publik seperti gambar, favicon, atau file HTML statis yang dapat diakses langsung tanpa melalui controller.




Membuat Controller dan View

Sebuah project Rails, minimalnya harus memiliki sebuah controller dan sebuah view.

Untuk membuat controller dan view kita bisa memanfaatkan generator yang telah disediakan oleh Rails.

rails g controller Home index

  1. Ini artinya yang dilakukan generator Rails membuat controller home_controller.rb

  2. sedangkan pada view generator otomatis membuat folder baru pada bagian views dengan nama home

  1. jika ingin melakukan perubahan , kita bisa rubah di

            learn_rails_7/rails7_app/app/views/home/index.html.erb

  1. kemudian method route terletak di config/routes.rb

  2. Pada browser masukkan url http://localhost:3000/home/index pada web browser.


Tidak ada komentar:

Posting Komentar