【发布时间】:2011-12-14 16:08:22
【问题描述】:
我有很多不需要创建实例变量来渲染视图的操作方法,因为这些方法只会重定向到来自其他控制器的其他操作。我想知道:为了遵循 Rails 的约定而总是创建实例变量是一个好习惯,还是没有这样的事情。我的直觉是,局部变量降低了内存成本,但代码看起来并不漂亮。
【问题讨论】:
标签: ruby-on-rails instance-variables
我有很多不需要创建实例变量来渲染视图的操作方法,因为这些方法只会重定向到来自其他控制器的其他操作。我想知道:为了遵循 Rails 的约定而总是创建实例变量是一个好习惯,还是没有这样的事情。我的直觉是,局部变量降低了内存成本,但代码看起来并不漂亮。
【问题讨论】:
标签: ruby-on-rails instance-variables
如果没有将实例变量发送到视图,则创建实例变量不是惯例。
实例变量可以在多个方法作用于它们的情况下在视图中使用,即使它们没有在视图中使用,但这会使代码更加困难单独推理和测试。
如果您发现自己使用实例变量来保存中间计算,您可能需要重新考虑您的流程和/或设计。
【讨论】:
在控制器中使用实例变量的唯一原因是无需显式传递大量状态即可将内容放入视图中。
如果你没有任何状态,那么你就没有任何实例变量,所以没有理由使用它们。
【讨论】:
在以下情况下,我们大多需要使用实例变量,
如果我们的工作可以使用局部变量来完成,为什么还要使用实例变量。
【讨论】: