Я работаю над проектом, в котором пользователи отправляют одну форму, и она сохраняется в модели использования воды.Затем они должны сделать цели в модели целей.Модель целей имеет идентичные атрибуты с моделью водопользования, поэтому при создании объекта водопользования мне необходим объект целей, созданный одновременно.Затем, когда пользователь возвращается к поставленным целям, ему дается подмножество атрибутов, которые они могут редактировать и сравнивать с их первоначальными результатами.
Вот модели:
class Waterusage < ApplicationRecord
belongs_to :user
before_validation :calculate_totals
def calculate_totals
self.home_usage = get_home_usage
self.outdoor_usage = get_outdoor_usage
self.vehicle_usage = get_vehicle_usage
self.power_usage = get_power_usage
self.indirect_source_usage = get_indirect_source_usage
self.household_total = get_household_total
self.individual_total = get_individual_total
end
def get_household_total
home_usage + outdoor_usage + vehicle_usage + power_usage + indirect_source_usage
end
def get_individual_total
household_total / household_size
end
def get_home_usage
shower_total + bath_total + bathroom_sink_total + toilet_total +
kitchen_total + dishwashing_total + laundry_total + greywater
end
def get_outdoor_usage
lawn_total + swimming_total
end
def get_vehicle_usage
(0.735 * miles) + carwash_total
end
def get_power_usage
statewater * percent_statewater / 100
end
def get_indirect_source_usage
(household_size*(shopping + paper_recycling + plastic_recycling + can_recycling + textile_recycling + diet)) + (200 * pet_cost / 30)
end
... (Insert many sub calculations here of attributes in the waterusages schema)
end
Модель целей идентична.
В контроллере целей необходимо создать новый экземпляр, используяэкземпляр waterusages, связанный с тем же пользователем current_user.
Контроллер целей должен редактировать свои атрибуты независимо от waterusages.
Как мне установить цели.new равными waterusage.new?В одном из контроллеров моделей?