Hi all,
Saya ingin implementasikan aktivasi sebuah orderdengan url
http://localhost:3000/aktivasi/pemesanan/apWBj8pne07SQ yang dihandle oleh
controller berikut:
def activate_order
@cart = find_cart
@pagetitle = "Aktivasi Pemesanan"
@order = Order.to_be_activated(params[:kode])
if @order
@order.status = 'aktif'
@order.save
else
@error = "URL aktivasi tidak valid. Pesanan anda belum dapat diaktifkan"
end
end
dan ini method to_be_activated dimodel Order:
def self.to_be_activated(kode)
activated_order = Order.find_by_kode(kode)
return false if activated_order.nil? || activated_order.status == 'aktif'
activated_order
end
Mengapa blok di dalam if @order (pada kontroler di atas) masih juga
dieksekusi padahal @order-nya false sehingga muncul error saat diviewer.??
Padahal saya coba dari console saja tidak dieksekusi?
>> order = Order.to_be_activated("apWBj8pne07SQ")
=> false
>> if order
>> order.status = 'aktif'
>> order.save
>> else
?> error = "URL aktivasi tidak valid. Pesanan anda belum dapat diaktifkan.
Silahkan periksa kembali email anda."
>> end
=> "URL aktivasi tidak valid. Pesanan anda belum dapat diaktifkan. Silahkan
periksa kembali email anda."
>> order
=> false
Tak heran mengapa saya kasih judul if yang aneh. Saya sadar palingan
programernya yg aneh : ) oleh karena itu mohon pencerahannya.
Thanks,
Dida
[Non-text portions of this message have been removed]