我正在尝试在rails中提供自定义404响应,但我不确定如何将:status赋予respond_with
函数。
我知道render
,我可以这样做:
render :status => :not_found, :json => {:response =>"There weren't any results"}
如何使用respond_with
执行类似的操作?有没有办法用respond_with
设置状态代码?
我使用respond_with
的唯一原因是,据我所知,当您开始使用respond_with
时,使用respond_to
是正确的协议。如果这不正确,我应该使用render
,请告诉我!
答案 0 :(得分:7)
见the docs; respond_with
选择:status
。
respond_with(@user, status: :not_found) do |format|
format.json { response: "There weren't any results" }
end
答案 1 :(得分:2)
您可以只提出ActiveRecord::RecordNotFound
例外,而不是在响应中设置特定的404状态,它具有相同的效果。 Check it here