Belajar Ruby on Rails: Seri Belajar Ruby on Rails
Struktur Code Aplikasi
Berikut penjelasan struktur aplikasi yang ada di rails 7 :
-
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.
-
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.
-
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.
-
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.
-
test/spec
Folder ini digunakan untuk menyimpan tes unit, tes fungsi, dan tes integrasi untuk aplikasi Rails.
-
bin
Berisi script yang dapat dieksekusi, seperti rails, rake, dan script untuk proses server.
-
Gemfile
File ini berisi daftar semua gem (library Ruby) yang diperlukan oleh aplikasi. Ketika menjalankan bundle install, gems ini akan diunduh dan dipasang.
-
log
Semua log aplikasi tersimpan di sini, baik untuk development, test, atau production environment.
-
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
-
Ini artinya yang dilakukan generator Rails membuat controller home_controller.rb
-
sedangkan pada view generator otomatis membuat folder baru pada bagian views dengan nama home
-
jika ingin melakukan perubahan , kita bisa rubah di
learn_rails_7/rails7_app/app/views/home/index.html.erb
-
kemudian method route terletak di config/routes.rb
-
Pada browser masukkan url pada web browser.
PakarPBN
A Private Blog Network (PBN) is a collection of websites that are controlled by a single individual or organization and used primarily to build backlinks to a “money site” in order to influence its ranking in search engines such as Google. The core idea behind a PBN is based on the importance of backlinks in Google’s ranking algorithm. Since Google views backlinks as signals of authority and trust, some website owners attempt to artificially create these signals through a controlled network of sites.
In a typical PBN setup, the owner acquires expired or aged domains that already have existing authority, backlinks, and history. These domains are rebuilt with new content and hosted separately, often using different IP addresses, hosting providers, themes, and ownership details to make them appear unrelated. Within the content published on these sites, links are strategically placed that point to the main website the owner wants to rank higher. By doing this, the owner attempts to pass link equity (also known as “link juice”) from the PBN sites to the target website.
The purpose of a PBN is to give the impression that the target website is naturally earning links from multiple independent sources. If done effectively, this can temporarily improve keyword rankings, increase organic visibility, and drive more traffic from search results.