比方说,对于某些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 ....
就像你说的,这取决于。