使用 Grape gem 时如何自定义状态码响应?例如
post do
status = :accepted
@order = Order.find(params[:id])
end
这可以通过 error!({ error: 'Order not found'}, 404) 来实现,但是对于非错误如何做到这一点?
使用 Grape gem 时如何自定义状态码响应?例如
post do
status = :accepted
@order = Order.find(params[:id])
end
这可以通过 error!({ error: 'Order not found'}, 404) 来实现,但是对于非错误如何做到这一点?
找到了解决方案:
post do
status 203
@order = Order.find(params[:id])
end
从您的代码中,我看到您正在使用@order
但您之前没有定义它,所以它没有在视图中找到并给出错误
希望您的代码在您更新状态时看起来像这样,这样您就可以使用put
而不是post
put ':id' do
@order = Order.find(params[:id])
@order.update_attributes!(:status, :accepted)
end
或为post
post do
@order = Order.new
@order.status = :accepted
@order.save!
end