2011-12-21 56 views

Trả lời

82
head :no_content 

Thử nghiệm với Rails 3.2.x, 4.x. Nó làm cho phương thức điều khiển phản hồi bằng mã trạng thái HTTP No Content 204.

Một ví dụ của việc sử dụng này bên trong một phương pháp điều khiển tên foobar:

def foobar 
    head :no_content 
end 
6

Nếu bạn không muốn làm bất cứ điều gì ở tất cả các bạn có thể làm điều này:

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

hay như thế này:

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

Hoặc bạn có thể sử dụng phần :status => 204 với bất kỳ lệnh làm khác

+1

Có một vé Rails cũ, nơi này không được khuyến khích, nhưng mọi thứ có thể đã thay đổi kể từ đó: https://rails.lighthouseapp.com/ dự án/8994/vé/3499-render-nothing-true-nên-set-http-status-204 –

+0

@Michael Kohl: Cảm ơn bạn đã liên kết này, tôi không biết điều này. Theo như tôi hiểu nó, nó là một vấn đề của phong cách hoặc mã có thể đọc được, và sử dụng 'đầu' thay vì' render: nothing' nên rõ ràng hơn, như [Hướng dẫn Ruby On Rails] (http: //guides.rubyonrails .org/layouts_and_rendering.html # using-render) cũng giải thích là –

11

Nhìn vào phương pháp head:

Trả về một phản hồi không có nội dung (chỉ là tiêu đề). Các tùy chọn đối số được hiểu là băm của tên và giá trị tiêu đề.

+0

Cảm ơn Michael. đầu: ok là cho HTTP 200 và đầu: được tạo ra cho 201, nhưng tôi không thể tìm thấy đối số tôi nên sử dụng với đầu để trả về 204. – Nonos

+1

Tôi nghĩ rằng tôi đã tìm thấy nó: head: no_content hoặc head 204. Cảm ơn! – Nonos

+0

Nếu điều này trả lời câu hỏi của bạn, vui lòng chấp nhận câu trả lời bằng cách đánh dấu dấu nhỏ bên dưới mũi tên bỏ phiếu để những người dùng khác biết vấn đề này được giải quyết. –

Các vấn đề liên quan