Hmm.. user, hobbies, address bukannya 1 entity?
Kok disavenya terpisah yah?

Anyway, kalo mau semuanya disimpan dengan benar, kamu butuh yang
namanya transaction yang punya property ATOMIC(all or nothing). Kamu
bisa liat API transaction:

http://api.rubyonrails.org/classes/ActiveRecord/Transactions/ClassMethods.html

Kalo masalah pemakaian Transaction di Rails saya kurang begitu tahu.
Ini spekulasi contoh saya (tolong di beritahu kalo salah :P) :

begin
  transaction do
    ... # disini edit2 deh user, hobbies, ama address objectnya
  end
rescue
  puts "pesan gagal"
  # langsung return
end

puts "lacar lancar saja"

Felix Halim

On 8/30/07, pono_thea <[EMAIL PROTECTED]> wrote:
> Hallo semuanya, saya newbie Rails nih,
> Ini mungkin logika saya yang ga jalan atau imang bodoh he...
> Tentang simpan ke database lebih dari 2 tabel.
>
> 1. Validasi (di setiap models)
> 2. Jika sukses maka simpan ke databse
> saya menggunakan
> if @user.save and @hobbies.save and @address.save
>   pesan sukses simpan data
> end
> Tetapai tidak sesuai dengan yg saya harapakan, saya juga pernah pake
> OR, hasilnya tetap.
> Masalahnya :
> Jika menggunakan AND, error message akan tampil yang @user.save aja,
> sedangkan yang lain engga, kecuali klo @user.save sukse
> Klo pake OR dia baca dari belakang,
>
> Jika saya pake
> if @user.save
>   @hobbies.save
> end
> Gimana cara rollback nya.
> Help!
>
>
>
>
>     http://news.gmane.org/gmane.comp.lang.ruby.region.indonesia
>
>
>
>
> Yahoo! Groups Links
>
>
>
>

Kirim email ke