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]

Kirim email ke