Belajar Ruby on rails Part 1
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
untuk mengupdate library juga dapat dilakukan dengan perintah.
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.
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.
Perintah di atas ,berarti membuat resource homework dari pada tabel nya memiliki kolom :
- homework_name berupa text/alias
- category beruba string (menyimpan data data /db)
- 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.
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.
Coba jalankan kembali rails s/rails server ,Masukan URL dan yan akan muncul aadlah tampilan seperti ini:
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
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 :
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.
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.
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
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 :
author : Toriqzr
grup fb : Forum Keluarga Programmer indonesia