我正在尝试使用空体返回200状态,但rails返回具有单个空格的主体。即内容长度1
例如,此代码生成具有单个空格
的正文respond_to do |f|
f.html {head :ok}
end
这样做
respond_to do |f|
f.html {render :nothing => true}
end
是的,甚至渲染:什么都没有产生。
所有这些似乎都来自2005年的一个修补程序,用于修复Safari中的一个错误,如果正文是空的,它会忽略标题。 (http://dev.rubyonrails.org/changeset/1818)
有没有人对如何获得200状态但真正空洞的身体有任何想法?背景:我正在使用一个API来调用我的控制器。我需要发送200但单个空间体导致API出现故障(解析错误......)。此外,我将部署到Heroku,因此我无法修补ActionPack以撤消2005 hack。
感谢您的任何想法。
答案 0 :(得分:28)
这似乎有效
render :text => ""
对于Rails 3,您可以使用:
render :nothing => true
在Rails 5中,render :nothing => true
已弃用(计划在5.1中删除)
使用
def action
head :ok
end
感谢this question获取Rails 5解决方案。