当前位置:  开发笔记 > 编程语言 > 正文

我应该避免在Rails视图中进行nil检查吗?

如何解决《我应该避免在Rails视图中进行nil检查吗?》经验,为你挑选了1个好方法。

在我的模型中,有许多属性和方法可以根据模型实例的属性执行一些计算.如果计算所依赖的属性为零,我一直在使用返回nil的方法.作为这个设计决定的结果,我在我的视图中显示这些值之前做了很多零检查.

当我们没有足够的信息时,我想过让这些方法返回零而不是零,但是我选择了nil,因为零是一个有效的计算结果,而nil意味着没有足够的信息.

我应该返回0而不是nil吗?我可以使用任何其他模式来避免在我的视图中进行一堆零检查吗?



1> Patrick McKe..:

如果您的问题是选择是否显示或不显示计算结果,我倾向于认为您正在做正确的事情.如果显示任何值都没有意义,那么nil是完全合理的.

但是,如果您的业务逻辑导致您进入一个习惯性空白的大部分视图的状态,那么您可能应该重构,以使您的程序丢失其泄漏的抽象.

例如,考虑一个通过跟踪配方开始的应用程序Food.然后,随着需求的变化,我们得到了需要显示与汉堡不同的信息的馅饼的概念.我没有使用calculate_deliciousness_of_pie_or_nil_for_burger方法,然后在视图中检查nil,而是将其分解为饼图的饼图和汉堡的汉堡视图.这可能(可能会)需要重新思考我的对象抽象.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有