7

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

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

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

如果您在部分中引用实例变量,这有关系吗?

4

2 回答 2

7

你今天大放异彩!:-)

您可以将变量传递给部分,:locals以保持这一切都很好和干净。例如,

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

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

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

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

于 2009-05-26T01:07:42.553 回答
2

我只建议使用实例变量,只要不共享部分,因为这会很快让人困惑;)

于 2009-05-26T19:15:09.347 回答