Arsip untuk November, 2009|Halaman arsip bulanan
Renaming Session in Authlogic
saya rada jenuh menggunakan nama user_session sebagai nama model untuk authlogic, yah saya iseng aja ganti namanya menggunakan nama session.
dan voilla error pun terjadi.
permasalahannya authlogic menggunakan teknik pembacaan parameter untuk session secara default seperti ini => {nama_model_yang_divalidasi}_session, contoh user_session. makanya dia muncul dengan error interning string.
nah solusinya kalau mau tetap mempertahankan nama model tetap session cukup tambahkan
authenticate_with User
dalam isi class session tersebut.
semoga bermanfaat.
submit form in Rails using jQuery
agar aplikasi rails kita mampu melakukan submit form sejara AJAX, menggunakan jQuery maka pada application js. masukkan kode-kode di bawah ini
* untuk jquery sebelum versi 1.3 wajib ditambahkan function ajaxSetup berikut.
jQuery.ajaxSetup({
'beforeSend' : function(xhr) {xhr.setRequestHeader("Accept","text/javascript")}
})
jQuery.fn.submitWithAjax = function() {
this.submit(function() {
$.post($(this).attr("action"), $(this).serialize(), null,"script");
return false;
})
};
<% form_for(@member, :html => { :class => "submit_ajax"}) do |f| %>
$(".submit_ajax").submitWithAjax();
Multiple model input in a single form
pada post ini saya akan menshare percobaan saya pada sebuah kasus, yaitu bagaimana caranya untuk melakukan multiple model input pada sebuah form, saya ingin memasukkan data pada transaction, dan juga transaction details, berdasarkan pilhan pada transaction type.
untuk schemanya dapat dilihat pada kode di bawah :
create_table "transaction_details", :force => true do |t|t.integer "transaction_id"t.integer "transaction_type_id"t.datetime "created_at"t.datetime "updated_at"endcreate_table "transaction_types", :force => true do |t|t.string "transaction_type_name"t.datetime "created_at"t.datetime "updated_at"t.float "bonus"endcreate_table "transactions", :force => true do |t|t.date "transaction_date"t.integer "employee_id"t.float "transaction_value"t.datetime "created_at"t.datetime "updated_at"end
Catch 404 and 500 in rails
untuk melakukan kostumisasi halaman error untuk yang bertipe nya 404 (page not found) dan 500 (server error)
pada application.rb pada controller saya tambahkan kode berikut :
def rescue_404
rescue_action_in_public(ActionController::RoutingError)
end
def rescue_action_in_public(exception)
case exception
when ActionController::InvalidAuthenticityToken
when ArgumentError
when SyntaxError
render :template => "shared/error500", :status => "500"
else
render :template => "shared/error404", :status => "404"
end
end
def local_request?
return false
end
dan pada baris paling bawah pada routes.rb, sebelum end ditambahkan baris kode berikut
map.connect '*path', :controller => 'application', :action => 'rescue_404' unless ::ActionController::Base.consider_all_requests_local
Gem/plugin yang Wajib dipakai
sejauh ini selama proses pembuatan situs berbasis rails, gem tambahan yang menurutku sangat penting adalah :
- authlogic, supaya nyaman bikin login systemnya
- mislav-will_paginate, jaman sekarang pagination list is a must.
- searchlogic. because query is a boring stuff.
sementara untuk plugin, yah
- paperclip, buat kemudahan upload klo mau bikin gallery
sementara ini aja, ini juga masih diulik-ulik lagi.
install rails di windows
rata-rata di tiap buku tutorial ebook, selalu menyarankan untuk menggunakan instantrails sebagai solusi install pada windows. namun rasanya kok kurang seru yah.
yah karena itu saya berikan tahap-tahap install rails di windows
- install ruby, gunakan one-click-installer di http://www.ruby-lang.org/en/downloads/. jangan gunakan yang versi 1.9 gunakan 1.86 atau yang 1.8.7 karena rails baru optimal di kedua versi tersebut. saya sarankan install ruby pada root drive, misal c:/ruby
- install sqlite3, ambil di http://www.sqlite.org/download.html. ambil juga sqlitedll nya. setelah install, taruh hasil extract sqlitedll nya pada folder bin di lokasi install ruby.
- install rubygems, ambil di http://rubyforge.org/frs/?group_id=126. untuk menginstallnya, pada hasil extractnya cukup jalankan command line, ruby setup.rb
- jalankan gems nya, dengan mengetikkan “gem install rails”
- install gem sqlite3, dengan “gem install sqlite3-ruby”
yah itu aja deh. kayanya, moga-moga membantu.
Upload di Ruby on Rails
untuk masalah upload file di ruby on rails, saya menyarankan untuk menggunakan plugin paperclip. cara penggunaannya cukup gampang, dan benar-benar nyaman, karen inilah konsep DRY dari rails.
oke sekarang gw bikin langkah-langkahnya deh :
- install pluginnya, dengan mengetikkan pada root dari aplikasinya “ruby script/plugin install git://github.com/thoughtbot/paperclip.git”, atau ambil sendiri pluginnya di repositorynya langsung, dan taruh di dalam folder vendor/plugins (jangan lupa bersihkan nama folder hasil extractnya, jadi bernama paperclip)
- generate paperclip untuk model yang akan dimuat upload nya. contoh : “script/generate paperclip product flyer”, untuk menambahkan flyer pada model product.
- migrate dengan “rake db:migrate”
- tambahkan pada model product satu baris kode “has_attached_file :flyer”
- pada form untuk upload nya tambahkan option html multipart, seperti “<% form_for(@product, :html => { :multipart => true } ) do |f| %>”
- masukkan inputan file upload nya “<%= f.file_field :flyer %>”
- untuk membuat linknya, seperti ini “<%= link_to @product.flyer.url %>”
semoga membantu, kalau ada yang lebih jelas bisa dilihat di railscastnya.
pilatesforlifebandung.com
ini mungkin udah rada basi, kerjaan 2 bulan kemaren sih
ini kerjaan pertama gw sebagai seorang freelancer, dalam hal bikin situs
alamatnya ada di http://pilatesforlifebandung.com
ini screenshotnya :

situs ini dibuat menggunakan Ruby on Rails, dalam situs ini aku lebih banyak belajar mengenai desainn, sejauh ini masih terus coba untuk improvement apa yang jadi kelemahanku ini.
ayo kerja lagi lagi lagi,
Test Google Chrome on Mac
iseng – iseng pas lagi buka downloadsquad. eh ternyata ada berita tentang link download google chrome di mac yang versi beta, berati bukan nightly build banget.
ini url nya buat yang pingin nyoba :
http://www.google.com/chrome/intl/en/eula_dev.html?dl=mac
dan ketika dicoba, lumayan enak, dan ini screenshotnya :

Ayo silahkan pakai. lumayan stabil kok untuk penggunaan sehari hari.
* post ini ditulis juga dengan pakai chrome lho.
One Post A Day
untuk tetap menjaga otak produktif, hehehe
maka dengan ini saya mencoba melakukan gerakan
ONE POST A DAY
untuk tetap membiasakan menulis, karena emang jarang nulis sih. hehehe
Tinggalkan sebuah Komentar
Tinggalkan sebuah Komentar
Tinggalkan sebuah Komentar