Membuat Pretty URL di Aplikasi Ruby on Rails Menggunakan Gem Friendly
Software Engineering Enthusiast | Blogger | Creator of RubyPedia.com
31 Mei 2018

Pada kesempatan kali kita aka membahas dan mencoba menggunakan Gem Friendly, apa itu ? yaitu sebuah Gem yang digunakan untuk mempercantik url aplikasi kita di Rails.

Secara umum yang kita tahu kita akan melihat model contoh link yang seperti ini di Rails /posts/id padahal untuk pengembangan situs jika ingin SEOnya bagus link seperti itu tidak disarankan. Dengan menggunakan Gem Friendly maka kita akan sangat mudah untuk mempercantiknya, kurang lebih link yang akan dihasilkan akan seperti berikut ini /posts/judul-post, jadi yang semula parameternya id kita ganti dengan slug.

Oke, langsung saja kita buat aplikasi Rails baru:

rails new blog

Setelah proses instalasi selesai, silahkan buka file Gem, dan tambahkan kode berikut ini:

gem "friendly_id"

Setelah itu jalankan:

bundle install

Selanjutnya kita buat post dengan scaffolding:

rails generate scaffold post title:string slug:string  body:text

Setelai proses selesai, kemudian jalankan perintah berikut ini:

rails generate friendly_id

kemudian kita migrasi databasenya:

rails db:migrate

Oke, next kita buat fake data, buka db/seeds.rb, kemudian masukkan kode berikut ini:

(1..100).each do |i|
  Post.create!(title: "Lipsum Post #{i}", body: %{
      Nullam hendrerit iaculis sodales. Curabitur varius nibh arcu, id molestie nibh fermentum vitae. Cras quis semper dui. Cras porttitor urna sit amet risus vehicula tempor. Maecenas quis tempor ligula. Donec et nibh eu leo volutpat placerat. Fusce vulputate elit in nisi pretium, vel fermentum mi fermentum. Mauris scelerisque, lectus non luctus ultricies, urna eros tincidunt risus, at varius sapien diam id erat.
  })
end

Kemudian jalankan perintah berikut ini:

rake db:seed

Selanjutnya buka model post di app/models/post.rb, ubah menjadi seperti berikut ini:

class Post < ApplicationRecord
extend FriendlyId
  friendly_id :title, use: :slugged
end

Selanjutnya buka controller posts di app/controllers/posts_controller.rb, kemudian ubah kode-kode dibawah ini:

def show
    @posts = Post.find(params[:id])
end

Menjadi seperti ini:

def show
    @posts = Post.friendly.find(params[:id])
end

jadi kode diatas, kita tambahkan friendly sebagai paramsnya, selanjutnya:

def set_post
   @post = Post.find(params[:id])
end

Menjadi seperti berikut ini:

def set_post
   @post = Post.friendly.find(params[:id])
end

Kemudian jalankan aplikasi kita:

rails s

Buka di web browser : http://localhost:3000/posts

silahkan lihat perbedaan url yang dihasilkan dengan menggunakan Gem Friendly

Souce Code : https://github.com/rubypedia/pretty-URL-rails-app

Blog ini telah dibaca sebanyak 218 kali
Rails Ruby on Rails Gem Friendly URL Pretty URL Pretty Rails

Sekilas Tentang Penulis

Fika Ridaul Maulayya
Software Engineering Enthusiast | Blogger | Creator of RubyPedia.com

KOMENTAR

blog comments powered by Disqus