Belajar Ruby on rails Part 1

Toriq Ziadi Rachman
5 min readSep 8, 2018

--

Backgroungd

Oke selanjut masih dengan ROR ,Kali ini saya ingin belajar bagaimana cara untuk memakai fitur scaffolding yang katanya dapat menggenerate controller melalui terminal

Tahap -1

Yang pasti nya buat project rails dengan perintah :

rails new toriq_heroku

Perintah diatas akan membuat sebuah project dengan nama projectnya Belajar-RubyOnRails. Setelah membuat project, selanjutnya kita mendownload dependency yang dibutuhkan oleh project kita. Masuk ke folder project atau root project lalu jalankan perintah berikut.

bundle install
Gambar 1-Bundle install

untuk mengupdate library juga dapat dilakukan dengan perintah.

bundle update
Gambar 2 -Build bundle update

Untuk menjalankan aplikasinya, jalankan perintah rails server maka server rails akan jalan pada port 3000. Buka browser lalu hit pada localhost:3000. Berikut gambar ketika server dijalankan.

Gambar 3 -rails sever

Oke sekilas kita telah dapat menggunakan ruby on rails, kita akan memulai dengan basic CRUD pada ror.

ror merupakan salah satu framework yang bersifat mvc, maka kita membutuhkan view, controller dan model. kita akan mulai dari controller. ror menyediakan fitur scaffolding sehingga kita dapat generate controller melalui terminal. jalankan perintah berikut.

Gambar 4-rails generate scaffold Homework homework_name:t

Perintah di atas ,berarti membuat resource homework dari pada tabel nya memiliki kolom :

  1. homework_name berupa text/alias
  2. category beruba string (menyimpan data data /db)
  3. description berupa text

Kesimpulan dari scaffold yaitu :

  • File Migration
  • Model
  • Route : Scaffold akan otomatis mendaftarka URL yang aka sudah di buat menjadi route resources
  • Controller
  • Dan pada view ,mempunya homeworks di app/views, index.html.eb ,edit.html.erb,show.html.erb,dan form.html.erb yang terdapat di folder /app/views/homeworks

Pada tutorial ini, kita akan menggunakan contoh data Homework assets . Oke selanjutnya adalah memasukkan library twitter bootstrap ke project, kita akan menggunakan gem, buka file Gemfile pada root project dan sisipkan sintak.

Gambar 5-insert sintak to gemfile
Gambar 6-Mununjukan bootrap Berhasil Insert ke project

Setiap tambah atau ganti gem maka jangan lupa lakukan update dengan perintah bundle install atau bundle update. Buka file application.css yang ada dalam folder app/assets/stylesheets, ganti nama file tersebut dengan application.css.sass. Kemudian import library bootstrap ke dalam file application.css.sass dengan sintak.

Gambar 7 -Import package to ruby

Coba jalankan kembali rails s/rails server ,Masukan URL dan yan akan muncul aadlah tampilan seperti ini:

Gambat 7-Webstart failed

Tampilan tersebut merupakan tampilan error pada Rails framework. Apa yang terjadi ?. Yang terjadi adalah kita lupa untuk menjalankan file migrasi yang dibuat oleh scaffold.

Tahap - 2

Menjalankan Migrate

Perlu diingat meskipun kita menggunakan scaffold, tetapi untuk melakukan migrasi file database, harus dilakukan sendiri dengan cara menjalankan perintah berikut.

rails db:migrate RAILS_ENV=development
gambar 8 -Migrate database

Rails menyediakan satu set perintah rel untuk menjalankan set migrasi tertentu.

Perintah rel terkait migrasi pertama yang akan Anda gunakan mungkin menjadi rel db: migrate. Dalam bentuknya yang paling dasar, ia hanya menjalankan metode perubahan atau up untuk semua migrasi yang belum dijalankan. Jika tidak ada migrasi seperti itu, ia akan keluar. Ini akan menjalankan migrasi ini dalam urutan berdasarkan tanggal migrasi.

Perhatikan bahwa menjalankan perintah db: migrate juga memanggil perintah db: schema: dump, yang akan memperbarui file db / schema.rb Anda agar sesuai dengan struktur database Anda.

Jika Anda menentukan versi target, Rekaman Aktif akan menjalankan migrasi yang diperlukan (berubah, naik, turun) hingga mencapai versi yang ditentukan. Versi adalah awalan numerik pada nama file migrasi. Misalnya, untuk bermigrasi ke versi 20080906120000 jalankan:

$ rails db:migrate VERSION=20080906120000

Jika versi 20080906120000 lebih besar daripada versi saat ini (yaitu, migrasi ke atas), ini akan menjalankan metode perubahan (atau naik) pada semua migrasi hingga dan termasuk 20080906120000, dan tidak akan melakukan migrasi berikutnya. Jika bermigrasi ke bawah, ini akan menjalankan metode turun pada semua migrasi ke, tetapi tidak termasuk, 20080906120000.]

Migrasi mendukung semua tipe data dasar ,Berikut ini adalah daftar tipe data yang didukung migrate :

  • string −Untuk type data yg kecil seperti judul
  • text − Untuk potongan data tekstual yang lebih panjang, seperti deskripsi
  • integer − Untuk bilangan bulat
  • float − Untuk bilangan desimal
  • datetime and timestamp − Menyimpan tanggal dan waktu ke dalam kolom
  • date and time − Menyimpan tanggal dan waktu saja
  • binary − Untuk menyimpan data seperti gambar, audio, atau film.
  • Boolean − Apakah benar atau salah atau true or false

Daftar opsi kolom yang valid seperti ini :

  • limit ( :limit => “50” )
  • default (:default => “blah” )
  • null (:null => false implies NOT NULL)

CATATAN:- Aktivitas yang dilakukan oleh Rails Migration dapat dilakukan menggunakan GUI front-end apa pun atau langsung pada SQL prompt, tetapi Rails Migration membuat semua aktivitas tersebut sangat mudah, Lihat lah API Rails untuk detail tentang ini.

Selanjut nya ,kali ini Bagaimana jika kita ingin menambah kan table beriku sintak nya ,example :

Gambar 9-Rails generate migration table_name

Ini akan membuat file db / migrate / 001_table_name.rb. File migrasi berisi sintaks Ruby dasar yang menggambarkan struktur data dari tabel basis data.

CATATAN : Sebelum menjalankan generator migrasi, dianjurkan untuk membersihkan migrasi yang ada yang dihasilkan oleh generator model,Saya akan membuat dua migrasi sesuai dengan tiga tabel kami — buku dan subjek.

Gambar 10-Membuat table

Perhatikan bahwa Anda menggunakan huruf kecil untuk buku dan subjek dan bentuk jamak saat membuat migrasi. Ini adalah paradigma Rails yang harus Anda ikuti setiap kali Anda membuat Migrasi.

Edit Kode

  • table version_buku.rb

Pergi ke db / migrasi subdirektori aplikasi Anda dan edit setiap file satu per satu menggunakan editor teks sederhana.Setelah itu ubah 001_books.rb sebagai berikut ,Kolom ID akan dibuat secara otomatis, jadi jangan lakukan di sini juga.

Gambar 11-Membuat migrasi table buku

Metode self.up digunakan ketika bermigrasi ke versi baru, self.down digunakan untuk mengembalikan semua perubahan jika diperlukan. Pada saat ini, script di atas akan digunakan untuk membuat tabel buku.

  • tabel version_subjek.rb
Gambar 12-subjek scema database

Menjalankan Migrasi untuk Produksi dan Test Database nya,

Jika Anda ingin menentukan lingkungan Rails apa yang akan digunakan untuk migrasi, gunakan variabel shell RAILS_ENV.

Selanjutnya jalankan server dan ke browser anda localhost:port ,kemudian jika muncul gambar seperti di bawah ini berarti migrasi sukses :

Gambar -13 Sukses Migrasi

author : Toriqzr

grup fb : Forum Keluarga Programmer indonesia

--

--

No responses yet