我有一个创建产品页面和一个添加照片页面。添加照片页面应该将照片添加到刚刚创建的产品中。
我可以添加照片页面/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
图片.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
完整的控制台错误
在 2013-07-09 02:11:11 -0400 开始 POST "/photos" for 127.0.0.1 由 PhotosController#create as JSON 参数处理:{"utf8"=>"✓", "authenticity_token"=>"K9jWB2D0bFUB5+ KOCRKLUsuDGNLchjzCBCL1h1znOiQ=", "photo"=>{"upload"=>#>}} Completed 404 Not Found in 1ms
ActiveRecord::RecordNotFound(找不到没有 ID 的产品):app/controllers/photos_controller.rb:15:in `create'
带有 sachin 解决方案的控制台
在 2013 年 7 月 9 日 02:55:25 -0400 开始为 127.0.0.1 发布“/照片”,由 PhotosController#create 作为 JSON 参数处理:{“utf8”=>“✓”、“authenticity_token”=>“5RV+ GUCvNEFrw7l3/ApqAlbK/XJP78LmDR2Hc+O0rQ0=", "product_id"=>"125", "photo"=>{"upload"=>#>}} 产品加载 (0.1ms) SELECT "products".* FROM "products"在哪里“产品”。“id”=?LIMIT 1 [["id", "125"]] 重定向到http://google.com/ Completed 302 Found in 4ms (ActiveRecord: 0.1ms)
在 2013-07-09 02:55:25 -0400 开始 GET "/" for 127.0.0.1 由 StaticPagesController#home 处理为 JSON 在布局/应用程序中呈现 static_pages/home.html.haml (0.1ms) 用户负载 (0.3ms ) SELECT "users".* FROM "users" WHERE "users"."auth_token" IS NULL LIMIT 1 Completed 200 OK in 93ms (Views: 91.8ms | ActiveRecord: 0.3ms)