On Sat, Jun 7, 2008 at 5:21 PM, Adinda Praditya <[EMAIL PROTECTED]> 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.

kalau error lengkapnya ada g?
stelah saya coba2,error spt ini terjadi karena hasil
Qori.find(params[:reciters) bukan berupa Array, atw dengan kata lain
params[:reciters] bukan berupa Array of id-id dari Qori.
isi dari params[:reciters] berupa id kah?

>
> Thanks,
>
> Dida
>
> product_controller.rb
> ======================
> def create
> @product = Product.new(params[:product])
>
> if @product.save
> unless params[:reciters].blank?
> @product.reciters << Qori.find(params[:reciters])
> end
> flash[:notice] = 'New product successfully created.'
> redirect_to :action => 'index'
> else
> render :action => 'new'
> end
> end
>
> def update
> @product = Product.find(params[:id])
>
> @product.update_attributes(params[:product])
>
> unless params[:reciters].blank?
> @product.reciters = Qori.find(params[:reciters])
> end
>
> if @product.save
> flash[:notice] = 'Product has been updated.'
> redirect_to :action => 'show', :id => @product
> else
> render :action => 'edit'
> end
> end
>
> ================== product_controller.rb
>
> product.rb
> ==================
> class Product < ActiveRecord::Base
> ...
> has_many :pilihan_qoris
> has_many :reciters, :through => :pilihan_qoris, :source => :qori
> ...
>
> qori.rb
> =================
> class Qori < ActiveRecord::Base
> has_many :products
> has_many :pilihan_qoris
> has_many :creations, :through => :pilihan_qoris, :source => :product
> ...
> =================
>
> [Non-text portions of this message have been removed]
>
> 

Kirim email ke