У меня есть этот контроллер:
# frozen_string_literal: true
class MetricsController < ApplicationController
before_action :set_post, only: [:update]
def update
if @post.update(post_params)
render json: @post
else
render json: @post.errors, status: :unprocessable_entity
end
end
private
def set_post
@post = Post.find_by(site: params[:site_id], post_id: params[:post_id])
end
def post_params
params.fetch(:post, {})
end
end
И я хотел бы знать, как я могу вернуть 404
not found, когда @post
равно nil
. Прямо сейчас @post.update
вызывает ошибку, если @post
равно nil
, а ответом является HTML.