0

我正在尝试更新 Photo 的 listing_id,但由于某种原因它不会保存 id。我传入一个包含 3 个或更多图像 ID 的数组,然后遍历每个图像 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 回答