在rails 4中渲染之前设置响应状态

时间:2015-05-24 09:32:51

标签: ruby-on-rails http

我想在调用render方法之前在特定的action方法中设置响应状态值。这不可能吗?

我在控制器中的许多方法为#destroy,#update,#create等操作方法呈现JSON API视图,这些操作只是根据需要调用#show或#index。但是,我还想返回适当的HTTP响应状态值,如201,202等,而不必将参数传递给这些方法。基本上,我正在寻找这样的东西:

  def destroy
    # code that kills
    status :accepted # ArgumentError, status= silently fails
    index
  end

2 个答案:

答案 0 :(得分:1)

您可以通过传递参数:status,example:

来使用方法渲染
render nothing: true, status: 201

答案 1 :(得分:0)

如果你只是打电话

response.status = ###

在控制器中,然后不在:status添加render参数,它可以为您提供所需的信息。