我有一個創建產品頁面和一個添加照片頁面。添加照片頁面應該添加照片到剛創建的產品。創建動作時Rails nomethod錯誤
我可以添加照片頁面/products/:product_id/pics(.:format)
,但我得到一個錯誤提交
的ActiveRecord :: RecordNotFound(找不到產品沒有ID):
照片控制器
def create
@product = Product.find(params[:product_id]) # <--- error here
@photo = Photo.new
if @photo.valid?
@photo.product_id = @product.id
@photo.save!
respond_to do |format|
format.html { redirect_to product_path(@product) }
format.json { render json: @product }
end
else
redirect_to root_url, :notice => "Somehting went wrong!"
end
end
pics.html.haml個
= form_for @photo, :html => { :multipart => true, :id => "fileupload" } do |f|
= f.file_field :upload
產品控制器
def pics
@product = Product.find(params[:product_id])
@photo = Photo.new
# @product.photos.build
end
全控制檯錯誤
開始POST 「/照片」 爲127.0.0.1,在2013年7月9日2點十一分11秒 - 0400 通過PhotosController處理#創建爲JSON 參數:{「utf8」=>「✓」,「authenticity_token」=>「K9jWB2D0bFUB5 + KOCRKLUsuDGNLchjzCBCL1h1znOiQ =」,「photo」=> {「upl OAD「=>#>}} 完成404在1ms內
的ActiveRecord :: RecordNotFound(沒有ID找不到產品)沒有找到: 應用程序/控制器/ photos_controller.rb:15:在`創建」
與sachins解決方案控制檯
在2013年7月9日二點55分25秒-0400 處理由PhotosController#入門POST 「/照片」 爲127.0.0.1創建爲JSON 參數:{「UTF8 「=>」✓「,」authenticity_token「=>」5RV + GUCvNEFrw7l3/ApqAlbK/XJP78LmDR2Hc + O0rQ0 =「,」product_id「=>」125「,」photo「=> {」upload「=>#>} } Product Load(0.1ms)SELECT「products」。* FROM「products」WHERE「products」。「id」=? LIMIT 1 [[ 「ID」, 「125」]] 重定向到http://google.com/ 完成302在4ms的實測值(ActiveRecord的:爲0.1ms)
發起者在2013年7月9日02 GET 「/」,對於127.0.0.1: 55:25 -0400 StaticPagesController#home作爲JSON處理 在佈局/應用程序中呈現static_pages/home.html.haml(0.1ms) 用戶負載(0.3ms)SELECT「users」。* FROM「users」WHERE「users 」。 「的auth_token」 IS NULL LIMIT 1 在93ms完成200 OK(查看:91.8ms |的ActiveRecord:0.3ms的)
我剛纔試過看到更新 –