我有很多动作方法,不需要为渲染视图创建实例变量,因为这些方法只会重定向到其他控制器的其他动作。我想知道:为了遵循Rails的惯例总是创建实例变量是一个好习惯,或者没有这样的事情。我的直觉是局部变量降低了内存成本,但代码看起来并不漂亮。
答案 0 :(得分:10)
如果没有将实例变量发送到视图,那么创建实例变量并不是惯例。
如果多个方法在视图之前对它们进行操作,则可以使用实例变量 ,即使它们未在视图中使用,但这会使代码更难推理和孤立地测试。
如果您发现自己使用实例变量来进行中间计算,则可能需要重新考虑您的流程和/或设计。
答案 1 :(得分:7)
大多数情况下,我们需要在以下情况下使用实例变量,
如果我们的工作可以使用局部变量完成,我们为什么要使用实例变量。
答案 2 :(得分:4)
在控制器中使用实例变量的唯一原因是将事物放入视图中而不必显式传递一堆状态。
如果您没有任何状态,那么您没有任何实例变量,因此没有理由使用它们。