这段代码有效,但我觉得有一种更简洁的方法可以做到这一点,而无需所有重复:
def check_out_time
if super
super
elsif try(:registration).try(:program).try(:departure_time)
registration.program.departure_time
else
Settings.default_check_out_time
end
end
该模型有一个名为的属性check_out_time
,此代码基本上是说“如果未指定签出时间,请尝试注册程序的出发时间,如果不存在,则使用默认设置”
有没有更好的方法来写这个?也许通过使用||
运算符?