Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby ERB模板中@的用途_Ruby_Syntax_Erb - Fatal编程技术网

Ruby ERB模板中@的用途

Ruby ERB模板中@的用途,ruby,syntax,erb,Ruby,Syntax,Erb,我经常在ERB模板中看到这样的代码: <%= @some_variable %> 看到这样的代码: <%= node[:some_attribute][:some_other_attribute] %> 而且很老 <%= some_variable %> 有区别吗?我应该担心吗?通常,如果@是实例变量,则使用@。当您希望将变量传递给要渲染它的视图时,这些变量最常用于控制器中 例如,您可能有 class FooController < A

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

<%= @some_variable %>

看到这样的代码:

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

而且很老

<%= some_variable %>


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

通常,如果@是实例变量,则使用@。当您希望将变量传递给要渲染它的视图时,这些变量最常用于控制器中

例如,您可能有

class FooController < ApplicationController

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

end
class FooController
然后在相应的显示页面中,您可以通过调用以下命令访问foo:

<%= @foo.bar %>

当您将使用许多不同的foo呈现许多show页面时,这非常有用