Akhirnya setelah sekian lama blog saya terabaikan sekarang bisa ngelanjut nulis lagi, beberapa tahun yang lalu udah bahas tentang gimana cara intsall ruby dan framework ruby on rails kali ini, tulisan artikel ini adalah lanjutan ke tahap awal penggunaan rails. Yang perlu kalian lakuin sekrang adalah dengan membuat direktori kusus buat belajar rails. nah kalau sudah sekarang saatnya ngebuat aplikasi hello word dengan menggunakan rails dengan make command berikut pada terminal.
rails new Hello_world
perintah commnad diatas adalah memerintah rails untuk mengnerate aplikasi bernama Hello_world jika berhasil maka rails akan ngegenrate beberpa folder aplikasi Hello_world contoh beberpa direktori hail generate rails adalah sebagai berikut.
Beberpa direktori hasil gnerate |
List folder Hasil Generate |
Jika sudah berhasil ngegenerate direktorinya sekrang saatnya penjelasan mengenai apa fungsi dari direktori tersebut berikut ini tabel yang sudah saya buat
Direktori/file
|
Penjelasan
|
app/
|
Berisi semua core aplikasi, termasuk models, view, controller dan helper
|
app/assets
|
Merupakan tempat dimaan kamu meletakan asset dari aplikasi kamu seperti css, file javasript dan gambar
|
bin/
|
Berisi binary executeable file
|
config/
|
Merupakan folder untuk konfigurasi aplikasi
|
db/
|
Merupakan direktori yang berisi database file
|
doc/
|
Merupakan direktori tempat untuk dokumentasi aplikasi
|
lib/
|
Merupakan direktori untuk meletakan library modul
|
lib/asset
|
Merupakan direktori untuk library asset
|
log/
|
Direktori untuk aplikasi log file
|
public/
|
Data bisa diakses oleh public contohnya adalah via web browser, atau juga bisa berisi error page
|
bin/rails
|
Merupakan sebuah program untuk menggenerate kode, membuaka sesi console atau menjalankan local server
|
test/
|
Direktori untuk apllication test
|
tmp/
|
Direktori untuk temporary file
|
vendor/
|
Merupakan direktory untuk third-party code seperti plugins dan gems
|
vendor/asset
|
Merupakan direktory yang bersisi third-party asset sperti, css, file javascript dan gambar
|
README.md
|
Merupakan file readme
|
Rakefile
|
Merupakan Utility task yang tersedia via rake command
|
Gemfile
|
File yang berisi list Gem yang diperlukan untuk aplikasi ini
|
Gemfile.lock
|
Merupakan file yang berisi list gem yang digunakan untuk memastikan semua salinan aplikasi menggunakan gem dengan versi yang sama
|
Config.ru
|
Sebuah konfigrasi file untuk Rack middleware
|
.gitignone
|
Pettern untuk file yang akan diabaikan oleh git
|
Bundler
Setelah berhasil membuat aplikasi rails Hello_world langkah selanjutnya adalah belajar menggunakan bundler untuk menginstall semua gems yang diperlukan oleh aplikasi yang dibuat. Pada rails bundler ini akan dijalankan secara otomatis(via budle install), namun pada tutorial kita juga bakalan belajar cara mengubah konfigurasi default yang digenerate dan melakukan run bundler lagi. petama yang perlu kalian lakukan adalah mebuka file Gemfile dengan menggunakan teks editor kesukaan kalian, nah jika sudah maka hasilnya seperti ini
Konfigurasi default Gemfile |
Jika kita meneliti lebih lanjut file konfigurasi tersebut maka ada tiga cara untuk untuk mengiinstall gem dengan bundler yaitu
- gem 'nama_gem'
- cara penulisan dengan cara ini adalah cara untuk menginstall gem dengan nama yang diinginkan secara otomatis dengan menggunakan perintah tersebut maka Bundller akan mengintsall versi paling terbaru dari gem tersebut.
- gem 'nama_gem', '>= version'
- dengan menggunkan perintah ini maka secara otomatis Bundler akan menginstall gem dengan versi yang lebih baru atau sama dengan versi yang diinginkan
- gem 'nama_gem','~> version'
- contoh misalkan saya menulikan gem 'coffe-rails', '~>4.0.0' maka secara otomatis bundler akan menginstall gem bernama coffe-rails dengan versi yang lebih baru dari versi 4.0.0 tapi tidak lebih baru dari versi 4.1.0
Konfigurasi gemfile yang baru |
jika sudah kalian ubah, sekarang saatnya untuk melakukan running commad
bundle install
jika sudah sudah selesai tanpa terjadi error maka kamu berhasil mengubah konfigurasi gem pada aplikasi kamu, tapi jika ada message need to run bundle update first yang perlu kamu lakukan adalah melakukan running commnad bundle upate kemudian baru melakukan command bundle install.Rails Server
Ok sekrang kalian sudah paham bagaimana membuat aplikasi dengan rails dan mengkonfigurasi gemfile, terus ada pertanyaan dimana gue bisa ngejalain aplikasi gue, kabar gembiranya rails itu dibuat dengan sebuah command line yang bisa melakukan running local webserver yang ngebantu kita buat ngdevelop aplikasi kita, command tersebut adalah
rails server
saya menyarankan untuk membuka terminal baru ketika akan melakukan command ini karena ketika terminal kamu tutup maka server rails juga akan berhenti sehingga kamu perlu melakukan running command lagi, dan pastikan kamu melakukan running command ini saat berada di direktori aplikasi rails yang sedang kamu buat biar tidak salah melakukan running project. ok langsung saja kita coba.jika kalian berhasil maka akan keluar output pada terminal dan localhost pada port 3000 kalian akan menadi seperti berikut ini.
Ok sekrang kalian sudah paham bagaimana membuat aplikasi dengan rails dan mengkonfigurasi gemfile, terus ada pertanyaan dimana gue bisa ngejalain aplikasi gue, kabar gembiranya rails itu dibuat dengan sebuah command line yang bisa melakukan running local webserver yang ngebantu kita buat ngdevelop aplikasi kita, command tersebut adalah
rails server
Output terminal |
localhost:3000 |
Rails MVC
Ok, sekarang kalian sudah bisa menyalakan localhost dengan rails tapi kalian belum mendaptkan output yang diingnkan, sebelum itu gue pengin ngebahas barang yang bernama MVC (model,view,controller). MVC adalah merupkan sebuah pendekatan untuk menstrktur software agar kode program bersifat maintainable dan fleksibel dan elemn mvc sudah gue sebutin diatas tadi tinggal pnjelasannya doang, berikut ini penjelasannya
Nama bagian
|
penjelasan
|
model
|
Model class menunjukan
sebuah objek yang membawa data didalamnya juga bisa terdapat logic untuk melakukan update controller jika terjadi perubahan |
view
|
View merupakan
visualisasi data yang dimiliki oelh model bisa ibilang view ini bagian GUI-nya |
controller
|
Conteroller digunakan
ebagai penghubung antara view dan model dan juga mengatur aliran data kepadda model objek dan melakukan update view saat terjadi perubahan data. Controller menjaga agar view dan model tetap terpisah |
Hello World
Ok, kita sudah belajar mengenai MVC sekarang saatnya kita mengubah tampilan aplikasi kita menjadi hello world, yang akan kita ubah disini adalah controller actionnya yang sudah didefiniskan di dalam class controller pada rails, kita akan menambahkan method hello_world untuk menampilkan kata hello word dan beriku ini adalah methodnya.
menambah method hello_world pada controller
ok kita sudah menambahkan method tersebut namun ketika kita buka localhost output kata hello world belum ditampilkan yang perlu kita lakukan sekarang adalah mengubah router root rails yang berada pada config/routes.rb dimana pada bagian ini kalian hanya perlu mengubah satu baris saja yaitu pada bagian
Ok, kita sudah belajar mengenai MVC sekarang saatnya kita mengubah tampilan aplikasi kita menjadi hello world, yang akan kita ubah disini adalah controller actionnya yang sudah didefiniskan di dalam class controller pada rails, kita akan menambahkan method hello_world untuk menampilkan kata hello word dan beriku ini adalah methodnya.
menambah method hello_world pada controller |
root 'controller_nama#action_name'
ok langsung saja kita ubah rootnya menjadi seperti berikut ini Mengubah root pada router |
hello world apps |
Deploying
Ok, sekarang saatnya kita untuk belajar melakukan deploy, pada tutorial ini saya akan melakukan deploy ke heroku, karena menurut saya make heroku itu paling mudah dan bisa dilakukan via git. pertama yang perlu dilakukan adalah melakukan registrassi di heroku jika kalian sudah selesai melakuan registrasi, yang perlu kalian lakukan adalah menginstall heroku toolbelt dengan menggunakan commnad berikut ini pada terminal kalian
wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh
Hal yang perlu diketahui mengenai heroku adalah, bahwa heroku menggunakan PostgreSQL yang berarti kita perlu menambahkan gem untuk Postgres atau pg dalam procduction environtmet yang membuat rails nantinya bisa berkomunikasi dengan Postgres berikut ini adalah gemfile yang sudah saya ubah
Ok, sekarang saatnya kita untuk belajar melakukan deploy, pada tutorial ini saya akan melakukan deploy ke heroku, karena menurut saya make heroku itu paling mudah dan bisa dilakukan via git. pertama yang perlu dilakukan adalah melakukan registrassi di heroku jika kalian sudah selesai melakuan registrasi, yang perlu kalian lakukan adalah menginstall heroku toolbelt dengan menggunakan commnad berikut ini pada terminal kalian
wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh
menambah gem PostgreSQL |
jika sudah diubah yang perlu kita lakukan adalae menyiapkan syitem untuk deployment produksi disini kita akan melakukan running commnad bundle install dengan flag spesial untuk meghindari terinstalnya gem pada local sistem karena yang butuh hanya sistem untuk produksi environtmentnya saja, sehingga perlu pengupdatean Gemfile.lock supaya berisi gem Postgres dengan mengketikan command berikut ini
bundle install --without production
sebelumnya kalian sudah menginstall registrasi dan menginstall herokutoolbelt dan sekrang yang perlu kalian lakukan adalah melakukan login dari komputer kalian dengan commnad berikut. yang secara otomatis akan menginstall heroku cli jika kalian belum mnginstalnya, menggenertae ssh key dan membuat subdomain baru untuk aplikasi kamu. heroku login && heroku keys:add && heroku create
jika kalian sudah melkukan generate maka kalian akan mendapatkan output berupa alamat aplikasi kalian di heroku dan alamat repository gitnya. jika sudah berhasil maka sekarang yang perlu lakukan adalah manjalankan terminal dan menuju direktori kalian dan lakukan git init dan git add . kemudian lakukan remote repository tersebut dangan command berikut ini heroku git:remote -a nama-aplikasi-hasil-generate
jika sudah lakukan git add ., git commit, dan terakhir lakukan git push ke branch heroku dan master dengan force tunggu loading sampai selesai, jika sudah sekarang saatnya kita buka alamat hasil generatenya maka hasilnya seperti ini.
Hasil deploy |
0 komentar:
Post a Comment