У меня есть объект данных, который состоит из трех дочерних экземпляров одного и того же объекта.Мне нужно рассчитать значение из этого объекта и сохранить его в базе данных.(Позже он извлекается из БД другим приложением.)
Я смоделировал структуру моего класса ниже, в основном я хочу метод, который сложит вместе значения Child data_one и data_two и сохранит его втретья переменная, всего.Я думаю, что это будет total_first, total_second и total_third в родительской таблице db.Должен ли я объявить total как атрибут Child и использовать обратный вызов для его установки?Любая помощь будет высоко ценится - спасибо!И извинения, если это действительно очевидный вопрос ...
class Child
attr_reader :data_one, :data_two
def initialize(data_one, data_two)
@data_one, @data_two,
end
def ==(other_child)
data_one == other_child.data_one &&
data_two == other_child.data_two
end
def Sdq.from_params(hash)
Sdq.new(
get_value(hash, :data_one),
get_value(hash, :data_two),
)
end
protected
def Sdq.get_value(hash, key)
hash.has_key?(key) ? hash[key] : hash[key.to_s]
end
end
class Parent < ActiveRecord::Base
composed_of :first_child, :class_name => "Child", :mapping => [
["data_one_first","data_one"],
["data_two_first","data_two"]
]
composed_of :second_child, :class_name => "Child", :mapping => [
["data_one_second","data_one"],
["data_two_second","data_two"]
]
composed_of :third_child, :class_name => "Child", :mapping => [
["data_one_third","data_one"],
["data_two_third","data_two"]
]
end