2008/6/10 M. Fadhil Mandaga <[EMAIL PROTECTED]>:

>   On Sat, Jun 7, 2008 at 5:21 PM, Adinda Praditya <[EMAIL 
> PROTECTED]<apraditya%40gmail.com>>
> wrote:
> > Hai all,
> >
> > Saya masih kurang pd untuk coding model yang punya asosiasi has_many
> > through. Saya berhasil buat Product sesuai dengan asosiasi yang
> diharapkan,
> > tapi nggak bisa update dengan error NoMethodError:
> >
> > undefined method `reciters=' for #<Product:0xb71a77e8>
> >
> > Padahal di procuct_controller sama2 pake @product.reciters. Tapi kenapa
> pas
> > update nggak bisa ya..? Please help. Di bawah saya sisipkan potongan
> kode2
> > terkait.
>
> iy sama2 menggunakan @product.reciters, tapi methodnya beda, yang di
> create, method '<<', sedangkan yang di update method '=', tapi
> masalahnya bukan di method.
>


















Permasalahannya di method memang, saya sudah konfirmasi di reference API.

http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#M001103

Lihat tabel method generated by many-to-many association di kolom has_many
:through kalo diperhatikan lebih lanjut, nggak ada cara untuk update.
@product.reciter_ids ada tapi hanya untuk output. Kalo @product.reciter_ids
= an_array nggak ada juga. Pantas saya coba keduanya tidak berhasil. Dari
milis lain, saya dapat informasi method ini baru didukung di versi 2.1.

Lalu kalo mo update gimana caranya? Masa' saya harus destroy_all dulu, baru
pake '<<' lg? Kalo saya pake destroy_all, reference-nya malah ikut terhapus,
padahal di model-nya saya nggak pake parameter :depend. Jadi nggak bisa
juga.

Satu-satunya cara adalah #others.delete(other, other) karena .delete_all
juga nggak ada. Apa saya harus @product.reciters.delete.(@product.reciters)
lalu pake << ? Kok jadi susah banget, harusnya ada cara lain nih.. Buat apa
ada asosiasi itu kalo malah jd tambah repot.

Thanks,

Dida


[Non-text portions of this message have been removed]

Kirim email ke