У меня есть 3 основных контроллера, у которых есть функция активация , которая принимает параметры из формы, но перед созданием в базе данных мне нужно объединить в эти параметры какой-то ха sh , Сейчас я делаю так:
class AccountsController < ApplicationController
def activation
activation_params = if valid_user?
# This is a service, there I am taking this params and adding up one hash and returning the same
# params back
Account::ActivationParamsModifier.new(params).call
else
params
end
@activations = Activation.new(activation_params[:activations])
if @activations.save!
# Code Here
end
end
private
def valid_user?
# Valid User Check
end
end
end
Я пытаюсь выяснить здесь одну вещь, этот код ниже в 3 контроллерах, а также я думаю, что этот код не с хорошим рефакторингом. Любые предложения по улучшению этого? Я знаю этот небольшой код, но показывает на разных контроллерах. Я не уверен, что это before_action подходит для этого.
activation_params = if valid_user?
Account::ActivationParamsModifier.new(params, user_id).call
else
params
end