私は次の方法をテストしています:
def destroy
if @article.destroy
render json nothing: true, message: "removed", status: :ok
else
render json: @article, message: "Failed to remove", status: :bad_request
end
end
render json nothing
行はエラーを生成します
#Api :: V1 :: ArticlesController:0x000000074f6148の未定義のメソッド `json '
行をrender json: message: "removed", status: :ok
に変更しても違いはありません。何もレンダリングしない方法は?
pdate:以下のコードを試してみましたが、削除するとNo response received
で応答しますが、メッセージは期待できます。
def destroy
if @article.destroy
respond_to do |format|
format.json { render nothing: true, message: "removed", status: :ok }
end
else
render json: @article, message: "Failed to remove", status: :bad_request
end
end
本当に何もレンダリングしたくない場合:
head :ok # or any another status, e.g. :created, :accepted, etc
パラメータとして、ステータスコードまたはシンボリックステータス( statuses またはコンソールRack::Utils::SYMBOL_TO_STATUS_CODE
)
応答としてJSONメッセージを送信する場合:
render json: { message: "removed" }, status: :ok
返すHTTP 204コンテンツなし何も返したくない場合は、より意味があります。
render :nothing => true, :status => 204
またはちょうど良い:
head :no_content