2011-12-21 67 views

回答

82
head :no_content 

測試使用Rails 3.2.x中,4.x版它使控制器方法以204無內容HTTP狀態碼進行響應。

使用此命名foobar控制器方法中的一個例子:

def foobar 
    head :no_content 
end 
6

如果你不想在所有渲染任何你可以這樣做:

render :nothing => true, :status => 204 

或像這樣:

render :nothing => true, :status => 204 and return 

或者你也可以與其他任何渲染命令使用:status => 204部分

+1

有一個古老的Rails票這個地方不鼓勵,但此後事情可能已經改變:https://rails.lighthouseapp.com/項目/ 8994 /門票/ 3499-render-nothing-true-should-set-http-status-204 – 2011-12-21 16:22:34

+0

@Michael Kohl:感謝這個鏈接,我沒有意識到這一點。據我所知,它更像一個風格或可讀代碼的問題,並且使用'head'而不是'render:nothing'應該更明確,如[Ruby On Rails Guide](http://guides.rubyonrails .org/layouts_and_rendering.html#using-render)解釋如下 – 2011-12-21 16:28:19

11

head方法:

返回沒有內容的響應(僅標題)。選項 參數被解釋爲標題名稱和值的散列值。

+0

謝謝邁克爾。頭:好的是爲HTTP 200和頭:創建爲201,但我找不到我應該使用的頭參數返回204. – Nonos 2011-12-21 17:22:44

+1

我認爲我發現它:頭:no_content或頭204.謝謝! – Nonos 2011-12-21 17:26:25

+0

如果這回答了您的問題,請通過勾選投票箭頭下方的小標記以接受答案,以便其他用戶知道此問題已解決。 – 2011-12-21 17:36:07

相關問題