【问题标题】:Purpose of @ in ERB templates [duplicate]ERB模板中@的目的[重复]
【发布时间】:2014-11-04 00:24:24
【问题描述】:

我经常在 ERB 模板中看到这样的代码:

<%= @some_variable %>

看到这样的代码:

<%= node[:some_attribute][:some_other_attribute] %>

而且很老

<%= some_variable %>

有区别吗?我应该担心吗?

【问题讨论】:

    标签: ruby syntax erb


    【解决方案1】:

    如果是实例变量,通常使用@。当您想要将变量传递给将呈现它的视图时,这些最常见的用途将在控制器中。

    例如你可能有

    class FooController < ApplicationController
    
    def show
        @foo = Foo.find_by_id(params[:id]) 
    end
    
    end
    

    然后在相应的显示页面中,您可以通过调用访问 foo:

    <%= @foo.bar %>
    

    当您将使用许多不同的 foo 渲染许多显示页面时,这很有用。

    【讨论】:

      猜你喜欢
      • 2018-08-05
      • 1970-01-01
      • 2012-06-03
      • 1970-01-01
      • 2014-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多