Specify user modifiable ATTRIBUTES

This commit is contained in:
cryptogopher 2024-11-22 15:48:09 +01:00
parent 1d439928e2
commit bdc4ec4644
3 changed files with 5 additions and 2 deletions

View File

@ -18,9 +18,10 @@ class Default::UnitsController < ApplicationController
end
def import
params = @unit.slice(Unit::ATTRIBUTES - [:symbol, :base_id])
current_user.units
.find_or_initialize_by(symbol: @unit.symbol)
.update!(base: @base, **@unit.slice(:name, :multiplier))
.update!(base: @base, **params)
run_and_render :index
end

View File

@ -58,7 +58,7 @@ class UnitsController < ApplicationController
private
def unit_params
params.require(:unit).permit(:symbol, :name, :base_id, :multiplier)
params.require(:unit).permit(Unit::ATTRIBUTES)
end
def find_unit

View File

@ -1,4 +1,6 @@
class Unit < ApplicationRecord
ATTRIBUTES = [:symbol, :name, :multiplier, :base_id]
belongs_to :user, optional: true
belongs_to :base, optional: true, class_name: "Unit"
has_many :subunits, class_name: "Unit", dependent: :restrict_with_error, inverse_of: :base