变量是否通过相同的方法名称进行查看?

时间:2015-11-11 16:13:19

标签: ruby-on-rails

如果我有这些方法的page1控制器:

def index
  @myvar1 = 'var1'
end

def show
  @myvar2 = 'var2'
end

并且有相关的index.html.erb和show.html.erb视图。在索引视图中无法使用@ myvar2吗?它由show方法确定范围,该方法提供了show view。

在索引视图中尝试使用@ myvar2超出了范围,因为@ myvar2在那时甚至不存在?

1 个答案:

答案 0 :(得分:1)

你是对的,但你可以使用before_action设置可用于两者的变量

before_action :set_var_three

def index
  @myvar1 = 'var1'
end

def show
  @myvar2 = 'var2'
end

private

def set_var_three
  @myvar3 = 'var3'
end