Это то, что вы бы делали либо на входе с JavaScript, либо на стороне с Rails
(я предполагаю, что вы хотите сделать это на стороне, так как Вы говорите, что имеет значение только то, что он правильно сохраняет .)
Для этого вы захотите поместить этот лог c в модель ActiveRecord в before_save
обратном вызове ( logi c, как правило, не должен go вставляться в ваш контроллер).
# app/controllers/my_models_controller.rb
class MyModelsController < ApplicationController
def update
@model = MyModel.new(my_model_params)
if @model.save
# It worked
else
# It failed
end
end
private
def set_model
#...
end
def my_model_params
params.permit(:v1,v2,q1,q2)
end
end
# app/models/my_model.rb
class MyModel
attr_accessor :v1
attr_accessor :v2
attr_accessor :q1
attr_accessor :q2
before_save :calculate_total
private
def calculate_total
@total = (v1*q1)+(v2*q2)
end
end
Это просто псевдокод, но я надеюсь, что он даст вам хорошее представление о том, как выполнить это , Проверьте это (это потребует некоторых настроек) - это должно сработать.
Надеюсь, это поможет:)