我正在尝试更新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?
答案 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