对于更新方法,我出现ParameterMissing错误。我使用补丁来触发此方法,这是命令
curl -i -X PATCH'localhost:3000 / products / 1'-d'{“ product”:{“ title”:“ t”,“ price”:“ 1.23”,“ count”:“ 3” }}'
Product_controller.rb
def edit
@product = Product.find(params[:id])
end
def update
# use update method
@product = Product.find(params[:id])
# use update_attributes to update the record
if @product.update_attributes(product_params)
render json: { status: :ok, message: 'Product updated ', data: @product }
else
render json: { status: :error, message: 'Product not available', data: @product }
end
end
private
def product_params
params.require(:product).permit(:title, :price, :count)
end
答案 0 :(得分:0)
curl -i -X PATCH 'localhost:3000/products/1' -d '{"product":{ "title": "t", "price": "1.23", "count": "3"}}' -H 'Content-Type: application/json'
我认为问题在于数据是JSON内容,那么,您应该使用header:
Content-Type: application.json
答案 1 :(得分:0)
尝试一下:
<IP:SERVERPORT>
如果您测试您的应用程序,Postman将会是更舒适的选择。