私のアプリケーションには検索ページがあり、結果は(明らかに)ゼロになることがあります。ページに結果が返ってきたら、HTTP 200を使いたいのですが、結果がない場合は、HTTP 204を返すようにします。Rails HTTP 204はレンダリングテンプレートではありません
このプロセスは初期呼び出しで動作します結果は表示されません。ページが正しく表示され、HTTPステータスが204であると表示されます。
ただし、結果をHTMLで返す検索を実行した後、検索フィルターを使用して空の既知の結果AJAX呼び出しが起動し、コントローラがヒットし、ログにHTTP 204が返ってきますが、ページを再描画する対応するJSテンプレートはロードされません(例:私は、その作業は完了しています)。
HTTPステータスコードが204の場合、RailsがAJAXテンプレートをレンダリングできないようなことはありますか?
注:このアプリは結果がなく、status: :no_content
という指令を使用しないで正常に動作します。しかし、結果のない200のHTTPステータスは私には間違っているようです。
編集 - 対応するコード
私は私の結果をフィルタリングした後、私は(will_paginate
を使用して)、それらをページ付け。私のコントローラメソッドの最後の行は次のとおりです。レール5に
render :index, status: @results.total_entries.zero? ? :no_content : :ok
ここでは、204コードをどのように割り当てるか、それが動作しない可能性があるコードを追加する必要があります。 – tadman
@tadman - duh、ありがとう。完了しました。 – CDub
'log/development.log'に204が表示されていますか、それとも間違ったコードですか? – tadman