【问题标题】:Should you only use local variables in a partial?你应该只在局部变量中使用局部变量吗?
【发布时间】:2009-05-26 01:03:06
【问题描述】:

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

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

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

在局部引用实例变量有关系吗?

【问题讨论】:

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


    【解决方案1】:

    你今天很开心! :-)

    您可以将变量作为:locals 传递到部分中,以保持这一切都干净整洁。例如,

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

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

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

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

    【讨论】:

    • 感谢您再次回复 :) 那么,您是说在部分引用实例变量是可以接受的,还是可以说这会产生不可接受的依赖关系?
    • 嗯,没关系。实例变量在您的整个会话期间都可用,因此正如您所说,这并不比访问正确的视图更好或更差。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-24
      • 2017-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多