代码之家  ›  专栏  ›  技术社区  ›  Tobi

创建和删除实例变量

  •  0
  • Tobi  · 技术社区  · 12 年前

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

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

    实例变量由控制器中的此行指定:

    @calender_items = CalenderItem.all
    

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

    1 回复  |  直到 12 年前
        1
  •  2
  •   MurifoX    12 年前

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

    实例变量只存在于请求中,所以如果您对代码进行了注释,它就不应该工作。