このコミットが含まれているのは:
2026-07-04 21:47:16 +09:00
コミット 518c5fa0f2
16個のファイルの変更840行の追加598行の削除
+8 -7
ファイルの表示
@@ -1,4 +1,6 @@
class UserSettingsController < ApplicationController
wrap_parameters false
def show
return head :unauthorized unless current_user
@@ -8,12 +10,12 @@ class UserSettingsController < ApplicationController
def update
return head :unauthorized unless current_user
raw_attributes = request.request_parameters
raw_attributes = editable_raw_attributes
field_errors = validate_raw_attributes(raw_attributes)
return render_validation_error fields: field_errors if field_errors.present?
setting = current_setting
setting.assign_attributes(raw_attributes.slice(*Setting::EDITABLE_ATTRIBUTES))
setting.assign_attributes(raw_attributes)
if setting.save
render json: setting.serializable_hash, status: :ok
@@ -32,13 +34,12 @@ class UserSettingsController < ApplicationController
Setting.find_by!(user: current_user)
end
def editable_raw_attributes
request.request_parameters.slice(*Setting::EDITABLE_ATTRIBUTES)
end
def validate_raw_attributes raw_attributes
raw_attributes.each_with_object({ }) do |(key, value), errors|
unless Setting::EDITABLE_ATTRIBUTES.include?(key)
errors[key.to_sym] = ['不明な設定です.']
next
end
next if value_matches_type?(key, value)
errors[key.to_sym] = ['値の型が不正です.']