Third Online.rb
Pada online.rb yang ke tiga ini, kami melanjutkan project yang sebelumnya. Kalo pertemuan minggu lalu cuma posting berita tentu saja berbeda dengan yang semalam, kami menambahkan untuk menampilkan data yang telah di entrykan dengan menggunakan paging. Juga ada penambahan live-search (pake ajax) kalo mas aziz bilang. Dengan adanya tambahan fasilitas ini, tentu saja kita perlu mengubah beberapa script yang pernah kita buat sebelumnya. Yang pertama adalah penambahan method pada controller berita, dengan menggunakan generate ulang controller berita.
[root@ditto berita]# ./script/generate controller berita index view
exists app/controllers/
exists app/helpers/
exists app/views/berita
exists test/functional/
overwrite app/controllers/berita_controller.rb? [Ynaqd] n
skip app/controllers/berita_controller.rb
identical test/functional/berita_controller_test.rb
identical app/helpers/berita_helper.rb
identical app/views/berita/index.rhtml
create app/views/berita/view.rhtml
[root@ditto berita]#
Command generate diatas diperlukan untuk create file view.rhtml dan penambahan method pada berita_controller.rb yang perubahannya bisa kita lihat seperti di bawah :
class BeritaController < ApplicationController
def index
redirect_to :action => “new”
enddef new
enddef view
condition = “judul LIKE ‘%#{params[:query]}%’”
@total = Berita.count(:conditions => condition)
@pages, @record = paginate(:beritas, :conditions => condition, :per_page => 10)
enddef proses_insert
if request.post?
@masuk=Berita.new(params[:masuk])
if @masuk.save
flash[:notice] = “udah masuk”
redirect_to :action => “new”
else
flash[:notice] = “nggak masuk”
render :action => ‘new’
end
end
endend
Berikut beberapa penjelasan dari script di atas :
- condition = “judul LIKE ‘%#{params[:query]}%’”
condition adalah sebuah variabel yang menunjukkan kondisi yang dijalankan ketika query select berjalan (jika di mysql kita mengenalnya sebagai => where judul like ‘%params[:query]%’) - @total = Berita.count(:conditions => condition)
@total adalah jumlah row dari hasil query - @pages, @record = paginate(:beritas, :conditions => condition, :per_page => 10)
@record berfungsi untuk menghitung jumlah row hasil query dengan batas maksimal 10 record, sedangkan @pages diperoleh dari jumlah seluruh record setelah dibagi dengan 10 dan kemudian di tambah 1
Read original post at ditto blog
Related posts:
- Simple Login With Rails1.2.3
- Second Online.rb
- ORA-01555 dan ORA-12505
- ORA-01555 dan ORA-12505
- Menampilkan status online YM di blog / website
- DJBDNSrocks di Slackware (2)
- Java Training : Hari keenam – Praktek Hibernate with DAO
- Al-Qur’an online via Y!M
- Watch the Inauguration Online
- Bug Theme Modern-Notepad Wordpress
Wikusama (noun) : nick community alumni [1] widyaloka kusuma samekta makarya [2] tempat mencari ilmu yang bersinar, harum, mewangi, yang mendidik dan menyiapkan sumber daya manusia agar siap terjun ke dunia kerja [3] ikatan alumni smk telekomunikasi sandhy putra malang [4] tidak mengenal batas generasi dan umur; mailing-list [1] wikusama@wikusama.com
Latest Comments