このコミットが含まれているのは:
2026-05-10 05:32:08 +09:00
コミット 35e5af2f9a
8個のファイルの変更78行の追加54行の削除
+7 -5
ファイルの表示
@@ -177,8 +177,8 @@ class PostsController < ApplicationController
merge = bool?(:merge)
return head :bad_request if force && merge
base_version_no = nil
base_version_no = parse_base_version_no unless force
base_version_no = parse_base_version_no
return head :bad_request if !(force) && !(base_version_no)
title = params[:title].presence
tag_names = params[:tags].to_s.split
@@ -442,9 +442,11 @@ class PostsController < ApplicationController
def parse_base_version_no
version_no = Integer(params[:base_version_no], exception: false)
raise ArgumentError, 'base_version_no は必須です.' unless version_no&.positive?
version_no
if version_no&.positive?
version_no
else
nil
end
end
def post_snapshot_from_version version
+3 -3
ファイルの表示
@@ -16,7 +16,7 @@ class VersionRecorder
@record = record_class.unscoped.lock.find(@record.id)
latest = latest_version
validate_version_sequence! latest
validate_version_sequence!(latest)
attrs = snapshot_attributes
@@ -27,7 +27,7 @@ class VersionRecorder
version = version_class.create!(
base_attributes(latest).merge(record_key => @record).merge(attrs))
update_record_version_no! version.version_no
update_record_version_no!(version.version_no)
version
end
@@ -47,7 +47,7 @@ class VersionRecorder
end
def update_record_version_no! version_no
@record.update_columns version_no: version_no
@record.update_columns(version_no:)
@record.version_no = version_no
end