使用局部变量似乎是可取的,可以在应用程序范围内使用以避免跨应用程序的依赖关系。
但是在单个控制器中,引用实例变量似乎是可以接受的,您知道这些实例变量将在所有使用部分的操作中可用。
但是,如果您这样做,似乎存在风险,即特定操作可能会更改为不再向其视图提供实例变量。然后部分将停止工作。不过,我不确定这是否真的是一个问题,因为常规视图会遇到同样的风险。
如果您在部分中引用实例变量,这有关系吗?
使用局部变量似乎是可取的,可以在应用程序范围内使用以避免跨应用程序的依赖关系。
但是在单个控制器中,引用实例变量似乎是可以接受的,您知道这些实例变量将在所有使用部分的操作中可用。
但是,如果您这样做,似乎存在风险,即特定操作可能会更改为不再向其视图提供实例变量。然后部分将停止工作。不过,我不确定这是否真的是一个问题,因为常规视图会遇到同样的风险。
如果您在部分中引用实例变量,这有关系吗?
你今天大放异彩!:-)
您可以将变量传递给部分,:locals
以保持这一切都很好和干净。例如,
render :partial => 'my_partial', :locals => { :some_variable => some_variable, :some_important_value => 'an important point!' }
然后这些变量在局部视图中可用:
<%= some_variable %>
<%= some_important_value %>
但是,在局部变量中使用实例变量并没有什么特别的错误。
我只建议使用实例变量,只要不共享部分,因为这会很快让人困惑;)