在Grape gem中设置状态代码

时间:2014-07-26 06:27:30

标签: ruby-on-rails grape grape-api

使用Grape gem时如何自定义状态代码响应? e.g。

post do
   status = :accepted
   @order = Order.find(params[:id])
end

这可以通过错误实现!({error:' Order not found'},404)但是如何为非错误做到这一点?

2 个答案:

答案 0 :(得分:8)

找到解决方案:

post do
  status 203
  @order = Order.find(params[:id])
end

答案 1 :(得分:0)

从您的代码中我看到您正在使用@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