Hi all, Merupakan cara yang biasa untuk mencegah error record not found dengan rescue. Namun untuk kasus yang sederhana berikut ini, rails (1.2.3-20) tidak bisa. Ini method di kontroller saya:
def show_page begin load_data @page = Page.find_by_name(params[:name]) rescue ActiveRecord::RecordNotFound logger.error("Attempt to access invalid page #{params[:name]}") redirect_to_index("Halaman tidak ditemukan") end end namun untuk method yang lain, dengan kode serupa, yang membedakan hanya params[:id], tidak muncul error. Btw, error-nya bukan no record found, tapi NoMethodError karena atribut dari @page yang ada di viewer nggak ada. Saya lihat di log, yang membedakan cuman 'LIMIT 1'. log saat menjalankan method dengan params[:id] Product Load (0.065676) SELECT * FROM products WHERE (products.`id` = 732) Attempt to access invalid product 732 Redirected to http://localhost:3000/ >>> Perhatikan, di sini rescue berhasil, sedangkan menjalankan method dengan params[:name] langsung di by-pass ke "rendering within layouts/store ..." dan seterusnya Page Columns (0.023000) SHOW FIELDS FROM pages Page Load (0.000610) SELECT * FROM pages WHERE (pages.`name` = 'store') LIMIT 1 Rendering within layouts/store Rendering store/show_page Ada yang bisa kasih penjelasan mengapa bisa demikian? Dan gimana cara menangkap error ini lalu mengarahkannya ke controller lain? Thanks, Dida [Non-text portions of this message have been removed]