Twitter
RSS

Form dengan Multiple submit buttons di rails

0
Satu masalah yang sering dihadapi oleh para Developer Ruby on Rails diantaranya ketika akan membuat dua buah tombol submit untuk sebuah Form. Dan saya pun pernah mengalami ini.

Tapi jangan khawatir, ada solusi mudah jika kita mengalami hal ini. Dibawah ini saya akan menjelaskan bagaimana dua buah aksi submit bisa berjalan dalam sebuah form.

Membuat Form

Pertama kita buat sebuah form dengan dua buah submit, misalnya seperti ini :
<% form_tag :action => "submit_form" %>

...

<%= submit_tag 'Lihat', :name => "submit" %>
<%= submit_tag 'Simpan', :name => "submit" %>

<% end %>
Bisa anda lihat, kita membuat submit_tag dengan nama yang sama, tetapi dengan nilai yang berbeda untuk Label tombol. Dua informasi ini bisa mejadi parameter, tombol mana yang user klik ketika melakukan aksi submit form.

Menghandle aksi submit
Sebagaimana anda lihat form akan memanggil method submit_form ketika melakukan aksi submit. Untuk mengetahui tombol mana yang user klik kita akan menggunakan conditional statement seperti dibawah ini :
def submit_form
case params[:submit]
when "Lihat"
redirect_to :action => "lihat"
return
when "Simpan"
redirect_to :action => "simpan"
return
end
end
Begitulah cara kita, yakni dengan membaca nilai apa yang tersimpan dalam tombol tersebut. Seperti contoh diatas apakah Lihat ataukah Simpan.
Anda lihat kan, betapa mudahnya jikalau kita mengadapi masalah ini!!!