Ruby On Rails #1 Membuat Controller dan View

 

Controller merupakan sebuah class yang berfungsi menghubungkan antara model database dengan view. Controller juga berfungsi mengarahkan url yang masuk dengan view tujuan, serta menangkap request seperti POST dan GET. Fungsi controller banyak di adopsi oleh framework MVC seperti Laravel, dan Codeigniter. Model View Controller ini juga di adopsi oleh Ruby On Rails, sehingga memudahkan bagi para programmer yang sudah terbiasa dengan Laravel ataupun Codeigniter untuk mempelajarinya.

Untuk membuat controller dan view di Ruby On Rails, bisa menggunakan 2 cara yaitu dengan bantuan CMD, atau membuat secara manual. Berikut kami paparkan 2 cara tersebut :

1. Cara pertama menggunakan CMD

Berikut cara membuat controller dan view menggunakan CMD

1. Buka dan arahkan CMD anda ke folder utama project
2. Ketikkan perintah

rails generate controller Welcome index

"Welcome" merupakan nama controller yang akan dibuat dan "index" merupakan nama viewnya. Nantinya akan muncul controller baru di folder app -> controllers -> welcome_controller.rb, dengan kode berisi.

welcome_controller.rb

class WelcomeController < ApplicationController
def index
end
end

Serta view akan baru akan muncul pada app -> views -> welcome -> index.html.erb. Folder welcomes otomatis dibuat menyesuaikan nama controller. Isi default dari view index ini seperti berikut.

index.html.erb

<h1>Welcome#index</h1>
<p>Find me in app/views/welcome/index.html.erb</p>


Ketika controller selesai dibuat, akan muncul get baru pada config -> routes.rb, dimana get ini menafsirkan untuk mengarahkan url "localhost:3000/welcome/index" untuk menjalankan controller yang tadinya dibuat.
routes.rb

Rails.application.routes.draw do
get 'welcome/index'
# For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end



2. Cara manual

Berikut cara manual untuk membuat controller dan view di Ruby on Rails :

1. Buat file baru dengan nama + extensi ".rb" misalnya controller Home, maka buat file baru di app -> controllers -> home_controller.rb. Kemudian isi kodenya dengan code di bawah :

home_controller.rb

class HomeController < ApplicationController
def index
end
end

Perhatikan kode "class HomeController < ApplicationController" terdapat nama class yaitu HomeController, nama ini harus sesuai dengan nama file controller yang dibuat, jika nama controller home_controller.rb kemudian nama kelasnya dituliskan hanaya "class Home < ApplicationController", nantinya akan terjadi error. 

Serta perlu diperharikan untuk menyertakan nama+_controller.rb pada saat membuat controller, sebab telah kami uji coba membuat controller dengan nama "home.rb" dan hasilnya program tidak membaca file controller tersebut. Begitu 





2. Buat folder baru di view dengan nama "home" kemudian buat file index baru di dalamnya nantinya akan tampak seperti ini app -> views -> home -> index.html.erb





Isi kode html sesuai dengan kode yang di inginkan misalnya.

<h1>Home#index</h1>
<p>Find me in app/views/home/index.html.erb</p>

3. Tahap selanjutnya menambah get pada routes sehingga ketika url "localhost:3000/home/index" diakses, program akan mengarahkan ke controller home. Caranya tambahkan tag get 'home/index' seperti pada gambar.





Saran :

Ketika sudah mengetahui cara membuat controller secara manual, selanjutnya direkomendasikan untuk membuat controller menggunakan cara pertama untuk pembuatan project-project selanjutnya. Selain karena mempermudah, dan menyingkat waktu pembuatan, cara ini juga menghindarkan dari kesalahan. Permasalahan yang biasa muncul seperti nama file tidak sesuai, nama kelas tidak sesuai, hingga nama folder tidak sesuai.

Perhatian :

Untuk mengatur controller mana yang ingin dijalankan pertama kali ketika aplikasi dibuka silahkan tambahkan root 'welcome#index' pada routes, dimana welcome#index adalah nama view dari controller yang ingin dijalankan. 

 

 

banner
Previous Post
Next Post