对象的ID不保存

时间:2012-12-12 09:53:14

标签: ruby-on-rails ruby

我正在尝试更新Photo的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

Photo的任何想法都没有保存列表ID?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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