To wydaje się być proste, ale jestem początkującym Ruby/Rails. Muszę po prostu zwrócić HTTP 204 w kontrolerze. CzyJak wrócić HTTP 204 do kontrolera Railsów
respond_to do |format|
format.html
end
zwraca 204?
To wydaje się być proste, ale jestem początkującym Ruby/Rails. Muszę po prostu zwrócić HTTP 204 w kontrolerze. CzyJak wrócić HTTP 204 do kontrolera Railsów
respond_to do |format|
format.html
end
zwraca 204?
head :no_content
Testowane z Rails 3.2.x, 4.x Powoduje, że metoda sterownika odpowiada na kod stanu HTTP 204 bez zawartości.
Przykładem zastosowania tego środka metodzie kontrolera o nazwie foobar
:
def foobar
head :no_content
end
Jeśli nie chcesz, aby uczynić coś w ogóle można to zrobić:
render :nothing => true, :status => 204
lub tak:
render :nothing => true, :status => 204 and return
Albo można użyć :status => 204
część z jakiegokolwiek innego polecenia renderowania
Spójrz na metody head:
Zwraca odpowiedź, która nie zawiera treści (tylko nagłówki). Argumenty opcji są interpretowane jako mieszanie nazw nagłówków i wartości.
Dzięki Michael. head: ok jest dla HTTP 200 i head: utworzony jest na 201, ale nie mogłem znaleźć argumentu, którego powinienem użyć z headem, aby zwrócić 204. – Nonos
Myślę, że znalazłem: head: no_content lub head 204. Dzięki! – Nonos
Jeśli to odpowiedziałeś na twoje pytanie, zaakceptuj odpowiedź zaznaczając mały znak pod strzałkami do głosowania, aby inni użytkownicy wiedzieli, że problem został rozwiązany. –
Jest takie stare bilet Szyny gdzie to był zniechęcony, ale rzeczy mogły ulec zmianie od tamtego czasu: https://rails.lighthouseapp.com/ projects/8994/tickets/3499-render-nothing-true-should-set-http-status-204 –
@Michael Kohl: Dzięki za ten link, nie wiedziałem o tym. O ile rozumiem, jest to bardziej kwestia stylu lub czytelnego kodu, a użycie 'head' zamiast' render: nothing' powinno być bardziej wyraźne, jak [Ruby On Rails Guide] (http: //guides.rubyonrails .org/layouts_and_rendering.html # using-render) wyjaśnia również –