Скажем, на каком-то методе Child
мне нужно сделать расчеты на основе данных, хранящихся на его Parent
модели. Например,
def child_method(minutes)
remaining_time = minutes % self.parent.parent_settings
if remaining_time >= 1
return minutes/ self.parent.parent_settings
else
return [minutes/self.parent.parent_settings - 1 , 0].max
end
end
В вышеупомянутом я звонил self.parent.parent_settings
3 раза. На основании того, как работает Rails, это эффективно? Или это ужасная идея, и я должен вместо этого установить parent_settings
локально, например:
def child_method(minutes)
parent_settings = self.parent.parent_settings
remaining_time = minutes % parent_settings
if remaining_time >= 1
return minutes/ parent_settings
else
return [minutes/parent_settings - 1 , 0].max
end
end
У меня есть более сложные случаи этого (например, где в одном дочернем методе я обращаюсь к нескольким родительские атрибуты, а также, в некоторых случаях, родительские атрибуты). Я понимаю, что ответ может быть «это зависит» от того, какие именно данные, и т. Д. c., Но я хочу посмотреть, есть ли общие правила или соглашение