为特定数据属性连续调用父模型是否效率低下?

问题描述 投票:0回答:1

比方说,对于某些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

我有更复杂的实例(例如,在一个子方法中,我要访问多个父属性,在某些情况下,我还要访问祖父母属性)。我意识到答案可能是“取决于”数据的确切含义,等等,但是想看看是否存在一般的经验法则或惯例。

假设在某些子模型方法上,我需要根据存储在其父模型上的某些数据进行计算。例如,def child_method(minutes)剩余时间=分钟%self.parent ....

ruby-on-rails ruby
1个回答
0
投票

就像你说的,这取决于。

© www.soinside.com 2019 - 2024. All rights reserved.