This commit is contained in:
2026-05-26 05:52:09 +09:00
parent dc54f9cbb5
commit 638dccad6d
18 changed files with 259 additions and 55 deletions
@@ -40,7 +40,8 @@ class MaterialsController < ApplicationController
tag_name_raw = params[:tag].to_s.strip
file = params[:file]
url = params[:url].to_s.strip.presence
return head :bad_request if tag_name_raw.blank? || (file.blank? && url.blank?)
return render_bad_request('タグは必須です.', field: :tag) if tag_name_raw.blank?
return render_bad_request('ファイルまたは URL は必須です.') if file.blank? && url.blank?
tag_name = TagName.find_undiscard_or_create_by!(name: tag_name_raw)
tag = tag_name.tag
@@ -54,7 +55,7 @@ class MaterialsController < ApplicationController
if material.save
render json: MaterialRepr.base(material, host: request.base_url), status: :created
else
render json: { errors: material.errors.full_messages }, status: :unprocessable_entity
render_model_errors(material)
end
end
@@ -68,7 +69,8 @@ class MaterialsController < ApplicationController
tag_name_raw = params[:tag].to_s.strip
file = params[:file]
url = params[:url].to_s.strip.presence
return head :bad_request if tag_name_raw.blank? || (file.blank? && url.blank?)
return render_bad_request('タグは必須です.', field: :tag) if tag_name_raw.blank?
return render_bad_request('ファイルまたは URL は必須です.') if file.blank? && url.blank?
tag_name = TagName.find_undiscard_or_create_by!(name: tag_name_raw)
tag = tag_name.tag
@@ -84,7 +86,7 @@ class MaterialsController < ApplicationController
if material.save
render json: MaterialRepr.base(material, host: request.base_url)
else
render json: { errors: material.errors.full_messages }, status: :unprocessable_entity
render_model_errors(material)
end
end