创建和删除实例变量

时间:2013-08-30 13:50:59

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

在文件index.html.erb中,我有代码打印@calender_items的每个元素的一些属性:

<% @calender_items.each do |calender_item| %>​
  ...
  <td><%= calender_item.date %></td>
  ...
<% end %>

实例变量由此行在控制器中分配:

@calender_items = CalenderItem.all

如果我注释掉这一行,index.html.erb文件仍然有效。有人可以给我任何提示,为什么我仍然可以访问实例变量,即使它不再被分配?实例变量什么时候被销毁?

1 个答案:

答案 0 :(得分:2)

检查before_filters是否可以在触发之前为某些操作设置变量 检查您调用的操作是否实际上是您删除实例变量的操作。例如:controller/index致电Controller def index行动 检查ApplicationController,也许正在设置变量。

实例变量只能通过请求生存,因此如果您对代码进行了注释,则该代码不起作用。