Posts

Showing posts from March, 2015

Cara penggunaan reCAPTCHA di Rails application

Untuk pengimplementasian reCaptcha di Rails application kita bisa menggunakan gem recaptcha. Langkah pertama kita tambahkan gem recaptcha ke Gemfile gem 'recaptcha' Selanjutnya di terminal kita menjalankan perintah : $ bundle install Sekarang kita tinggal mengkonfigurasinya dibagian config/initializers/recaptcha.rb untuk penggunaan di aplikasi Rails. Tapi sebelumnya pastikan bahwa anda mempunyai public_key dan private_key untuk aplikasi anda, jika belum anda dapat membuatnya  disini. Recaptcha.configure do |config|   config.public_key  = '<public_key anda>'   config.private_key = '<private_key anda>' end Langkah selanjutnya adalah kita tinggal menggunakan recaptcha_tags disetiap form yang kita inginkan. Contoh : <%= form_for @foo do |f| %>   '#...#'   <%= recaptcha_tags %> <% end %> Lalu gunakan function  verify_recaptcha untuk verify captcha di controller, contoh: respond_to do |format|   if verify_recaptch...

Penggunaan gem permanent_record dan nested_form dalam satu rails aplikasi

Dalam artikel ini kita akan membahas tentang permasalahan yang timbul ketika kita mempunyai  gem 'permanent_records' dan gem 'nested_form'   di aplikasi Rails kita.   STUDI KASUS Misal dalam aplikasi yang kita buat terdapat model Order  dan   LineItem. order.rb class Order < ActiveRecord::Base   has_many :line_items, :dependent => :destroy   accepts_nested_attributes_for :line_items, allow_destroy: true end line_item.rb class LineItem < ActiveRecord::Base   belongs_to :order end Di orders_controller.rb untuk Rails 4 jangan lupa dibagian strong_params untuk menyertakan attributes dari line_items orders_controller.rb def order_params   params.require(:order).permit(:order_number, :order_date,         :line_items_attributes => [:id, :item_name, :price, :_destroy]) end Yang harus diingat untuk nested_form di rails 4 adalah memasukan attributes " _destroy " di attributes child, jika attib...

Cara Implementasi Soft Delete dengan gem 'permanent_records'

Soft delete adalah sebuah solusi ketika kita membutuhkan suatu data / record tidak muncul di view tapi masih tersimpan di database sebagai "archive". Jadi, ketika ada keperluan untuk mencari / mengembalikan ( restore ) data yang sudah dihapus user, kita masih bisa melakukan query untuk mencari dan menampilkan data tersebut. Contoh: user menghapus data penjualan hari ini dengan tidak sengaja. Karena implementasi soft delete, system admin akan mampu melakukan restore data tersebut dengan relatif mudah. Untuk implementasi soft delete, kita bisa menggunakan gem 'permanent_records'. Berikut ini cara integrasinya: INSTALASI Masukan gem 'permanet_records' di gemfile: gem 'permanent_records', github: 'JackDanger/permanent_records' selanjutnya jalankan di terminal: $ bundle install KEGUNAAN Setelah penginstalan selesai dilakukan kita dapat menjalankan beberapa method untuk melakukan pengetesan. User.find(3).destroy # akan men...

Implementasi gem 'nested_form' di Rails 4

Dalam tutorial ini kita akan mencoba untuk membuat nested_form dari dua model yang saling berelasi dalam sebuah aplikasi rails dengan mengunakan gem 'nested_form ' . INSTALASI Edit gemfile gem 'nested_form' Langkah selanjutnya adalah mengjalankan perintah $ bundle install Lalu kita masukan di application.js //= require jquery_nested_form PENGUNAAN Jika kita mempunyai model Order yang mempunyai relasi has_many :line_items , untuk dapat menggunakan gem ini kita harus memasukan accepts_nested_attributes_for :line_items di model Order kita, dan jika menginginkan nested object agar dapat dihapus maka kita dapat menambahkan allow_destroy: true setelahnya. Berikut adalah ilustrasinya : order.rb class Order < ActiveRecord::Base  has_many :line_items, :dependent => :destroy   accepts_nested_attributes_for :line_items, allow_destroy: true end line_item.rb class LineItem < ActiveRecord::Base   belongs_to :order end Selanjutnya adalah kita dapat meng...