你应该只在局部使用局部变量吗?

时间:2009-05-26 01:03:06

标签: ruby-on-rails partial instance-variables local-variables

使用局部变量似乎是可取的,可以在整个应用程序范围内使用,以避免整个应用程序的依赖。

但是在单个控制器中,引用您知道在使用partial的所有操作中都可用的实例变量似乎是可以接受的。

如果这样做,则可能存在风险,即特定操作可能会更改为不再向其视图提供实例变量。部分将停止工作。但是,我不确定这是否真的是一个问题,因为常规视图会遇到同样的风险。

如果你在部分?

中引用实例变量,这是否重要?

2 个答案:

答案 0 :(得分:7)

你今天就开始了! : - )

您可以将变量作为:locals传递给部分,以保持良好和干净。例如,

render :partial => 'my_partial', :locals => { :some_variable => some_variable, :some_important_value => 'an important point!' }

然后在局部视图中可以使用这些变量:

<%= some_variable %>
<%= some_important_value %>

但是,在partials中使用实例变量没有什么特别的错误。

答案 1 :(得分:2)

我只建议使用实例变量,只要部分不共享,因为这可能会非常快速地混淆;)