0

写真のlisting_idを更新しようとしていますが、何らかの理由でIDが保存されません。3つ以上の画像IDの配列を渡してから、それぞれを繰り返し処理します。コードは次のとおりです。

 def create
    @listing.landlord = current_landlord
    if @listing.save
      params[:listing][:images].each do |image|
        Photo.find_by_id(image).listing_id = @listing.id
        @listing.save
      end
      render :show, :status => 200
    else
      render :status => 403, :json => {:errors => @listing.errors}
    end
  end

写真がリストIDを保存しないようにするためのアイデアはありますか?

4

2 に答える 2

4
Photo.find_by_id(image).listing_id = @listing.id
@listing.save

写真を保存したいのはなぜ@listing.saveですか?また、listing_idアクセスできない一時変数を設定しています。あなたはおそらくこのようなものを書くつもりでした

photo = Photo.find_by_id(image)
photo.listing_id = @listing.id
photo.save
于 2012-12-12T09:55:51.353 に答える
0

リストする代わりに、写真オブジェクトの保存を呼び出す必要があります。

このコードの代わりに

  Photo.find_by_id(image).listing_id = @listing.id
  @listing.save

試す

 photo=  Photo.find_by_id(image)
 photo.listing_id = @listing.id
 photo.save
于 2012-12-12T09:56:49.710 に答える